0s autopkgtest [20:27:52]: starting date and time: 2024-07-22 20:27:52+0000 0s autopkgtest [20:27:52]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [20:27:52]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.4dnu6b94/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --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' -- lxd -r lxd-armhf-10.145.243.21 lxd-armhf-10.145.243.21:autopkgtest/ubuntu/oracular/armhf 55s autopkgtest [20:28:47]: testbed dpkg architecture: armhf 57s autopkgtest [20:28:49]: testbed apt version: 2.9.6 57s autopkgtest [20:28:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup 67s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 68s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [59.7 kB] 68s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3440 B] 68s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 68s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [398 kB] 68s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [89.2 kB] 68s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf c-n-f Metadata [1428 B] 68s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf Packages [1368 B] 68s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf c-n-f Metadata [120 B] 68s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [364 kB] 68s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf c-n-f Metadata [6916 B] 68s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [2072 B] 68s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf c-n-f Metadata [120 B] 70s Fetched 1061 kB in 3s (423 kB/s) 70s Reading package lists... 88s tee: /proc/self/fd/2: Permission denied 113s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 113s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 113s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 113s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 115s Reading package lists... 115s Reading package lists... 116s Building dependency tree... 116s Reading state information... 117s Calculating upgrade... 118s The following packages will be upgraded: 118s cloud-init cpio dash gcc-14-base gdisk krb5-locales libbpf1 libgcc-s1 118s libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 libpython3-stdlib 118s libstdc++6 libudisks2-0 libxml2 netcat-openbsd python3 python3-gdbm 118s python3-minimal udisks2 118s 21 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s Need to get 3595 kB of archives. 118s After this operation, 69.6 kB disk space will be freed. 118s Get:1 http://ftpmaster.internal/ubuntu oracular/main armhf dash armhf 0.5.12-9ubuntu1 [81.3 kB] 119s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-minimal armhf 3.12.4-1 [27.1 kB] 119s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3 armhf 3.12.4-1 [24.0 kB] 119s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf libpython3-stdlib armhf 3.12.4-1 [9824 B] 119s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-14-base armhf 14.1.0-5ubuntu1 [49.8 kB] 119s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf libstdc++6 armhf 14.1.0-5ubuntu1 [711 kB] 119s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libgcc-s1 armhf 14.1.0-5ubuntu1 [40.8 kB] 119s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf krb5-locales all 1.21.3-3 [14.3 kB] 119s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libbpf1 armhf 1:1.4.5-1 [151 kB] 119s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libgssapi-krb5-2 armhf 1.21.3-3 [120 kB] 119s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libkrb5-3 armhf 1.21.3-3 [313 kB] 119s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libkrb5support0 armhf 1.21.3-3 [31.2 kB] 119s Get:13 http://ftpmaster.internal/ubuntu oracular/main armhf libk5crypto3 armhf 1.21.3-3 [78.6 kB] 119s Get:14 http://ftpmaster.internal/ubuntu oracular/main armhf libxml2 armhf 2.12.7+dfsg-3 [560 kB] 119s Get:15 http://ftpmaster.internal/ubuntu oracular/main armhf netcat-openbsd armhf 1.226-1.1 [42.2 kB] 119s Get:16 http://ftpmaster.internal/ubuntu oracular/main armhf cpio armhf 2.15+dfsg-1ubuntu3 [82.6 kB] 119s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-gdbm armhf 3.12.4-2 [16.9 kB] 119s Get:18 http://ftpmaster.internal/ubuntu oracular/main armhf udisks2 armhf 2.10.1-9ubuntu1 [277 kB] 119s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf libudisks2-0 armhf 2.10.1-9ubuntu1 [142 kB] 119s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf cloud-init all 24.3~1g6e4153b3-0ubuntu1 [592 kB] 119s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf gdisk armhf 1.0.10-2 [229 kB] 119s Preconfiguring packages ... 120s Fetched 3595 kB in 1s (4913 kB/s) 120s (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 ... 58436 files and directories currently installed.) 120s Preparing to unpack .../dash_0.5.12-9ubuntu1_armhf.deb ... 120s Unpacking dash (0.5.12-9ubuntu1) over (0.5.12-6ubuntu5) ... 120s Setting up dash (0.5.12-9ubuntu1) ... 120s (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 ... 58436 files and directories currently installed.) 120s Preparing to unpack .../python3-minimal_3.12.4-1_armhf.deb ... 120s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 120s Setting up python3-minimal (3.12.4-1) ... 120s (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 ... 58436 files and directories currently installed.) 120s Preparing to unpack .../python3_3.12.4-1_armhf.deb ... 120s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 121s Preparing to unpack .../libpython3-stdlib_3.12.4-1_armhf.deb ... 121s Unpacking libpython3-stdlib:armhf (3.12.4-1) over (3.12.3-0ubuntu1) ... 121s Preparing to unpack .../gcc-14-base_14.1.0-5ubuntu1_armhf.deb ... 121s Unpacking gcc-14-base:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 121s Setting up gcc-14-base:armhf (14.1.0-5ubuntu1) ... 121s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 58436 files and directories currently installed.) 121s Preparing to unpack .../libstdc++6_14.1.0-5ubuntu1_armhf.deb ... 121s Unpacking libstdc++6:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 121s Setting up libstdc++6:armhf (14.1.0-5ubuntu1) ... 121s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 58436 files and directories currently installed.) 121s Preparing to unpack .../libgcc-s1_14.1.0-5ubuntu1_armhf.deb ... 121s Unpacking libgcc-s1:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 121s Setting up libgcc-s1:armhf (14.1.0-5ubuntu1) ... 121s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 58436 files and directories currently installed.) 121s Preparing to unpack .../00-krb5-locales_1.21.3-3_all.deb ... 121s Unpacking krb5-locales (1.21.3-3) over (1.20.1-6ubuntu2) ... 121s Preparing to unpack .../01-libbpf1_1%3a1.4.5-1_armhf.deb ... 121s Unpacking libbpf1:armhf (1:1.4.5-1) over (1:1.4.3-1) ... 121s Preparing to unpack .../02-libgssapi-krb5-2_1.21.3-3_armhf.deb ... 121s Unpacking libgssapi-krb5-2:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 121s Preparing to unpack .../03-libkrb5-3_1.21.3-3_armhf.deb ... 121s Unpacking libkrb5-3:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 121s Preparing to unpack .../04-libkrb5support0_1.21.3-3_armhf.deb ... 121s Unpacking libkrb5support0:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 121s Preparing to unpack .../05-libk5crypto3_1.21.3-3_armhf.deb ... 121s Unpacking libk5crypto3:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 121s Preparing to unpack .../06-libxml2_2.12.7+dfsg-3_armhf.deb ... 121s Unpacking libxml2:armhf (2.12.7+dfsg-3) over (2.9.14+dfsg-1.3ubuntu3) ... 122s Preparing to unpack .../07-netcat-openbsd_1.226-1.1_armhf.deb ... 122s Unpacking netcat-openbsd (1.226-1.1) over (1.226-1ubuntu2) ... 122s Preparing to unpack .../08-cpio_2.15+dfsg-1ubuntu3_armhf.deb ... 122s Unpacking cpio (2.15+dfsg-1ubuntu3) over (2.15+dfsg-1ubuntu2) ... 122s Preparing to unpack .../09-python3-gdbm_3.12.4-2_armhf.deb ... 122s Unpacking python3-gdbm:armhf (3.12.4-2) over (3.12.3-0ubuntu1) ... 122s Preparing to unpack .../10-udisks2_2.10.1-9ubuntu1_armhf.deb ... 122s Unpacking udisks2 (2.10.1-9ubuntu1) over (2.10.1-9) ... 122s Preparing to unpack .../11-libudisks2-0_2.10.1-9ubuntu1_armhf.deb ... 122s Unpacking libudisks2-0:armhf (2.10.1-9ubuntu1) over (2.10.1-9) ... 122s Preparing to unpack .../12-cloud-init_24.3~1g6e4153b3-0ubuntu1_all.deb ... 122s Unpacking cloud-init (24.3~1g6e4153b3-0ubuntu1) over (24.2-0ubuntu1) ... 123s Preparing to unpack .../13-gdisk_1.0.10-2_armhf.deb ... 123s Unpacking gdisk (1.0.10-2) over (1.0.10-1build1) ... 123s Setting up cpio (2.15+dfsg-1ubuntu3) ... 123s Setting up netcat-openbsd (1.226-1.1) ... 123s Setting up krb5-locales (1.21.3-3) ... 123s Setting up libkrb5support0:armhf (1.21.3-3) ... 123s Setting up gdisk (1.0.10-2) ... 123s Setting up libk5crypto3:armhf (1.21.3-3) ... 123s Setting up libkrb5-3:armhf (1.21.3-3) ... 123s Setting up libxml2:armhf (2.12.7+dfsg-3) ... 123s Setting up libbpf1:armhf (1:1.4.5-1) ... 123s Setting up libudisks2-0:armhf (2.10.1-9ubuntu1) ... 123s Setting up libpython3-stdlib:armhf (3.12.4-1) ... 123s Setting up udisks2 (2.10.1-9ubuntu1) ... 123s vda: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/uevent': Permission denied 123s vda1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda1/uevent': Permission denied 123s vda15: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda15/uevent': Permission denied 123s vda2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda2/uevent': Permission denied 123s loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied 123s loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied 123s loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied 123s loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied 123s loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied 123s loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied 123s loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied 123s loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied 124s Setting up python3 (3.12.4-1) ... 124s Setting up libgssapi-krb5-2:armhf (1.21.3-3) ... 124s Setting up cloud-init (24.3~1g6e4153b3-0ubuntu1) ... 127s Setting up python3-gdbm:armhf (3.12.4-2) ... 127s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 127s Processing triggers for man-db (2.12.1-2) ... 128s Processing triggers for dbus (1.14.10-4ubuntu4) ... 128s Processing triggers for debianutils (5.20) ... 128s Processing triggers for libc-bin (2.39-0ubuntu9) ... 128s Reading package lists... 129s Building dependency tree... 129s Reading state information... 130s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 132s autopkgtest [20:30:04]: rebooting testbed after setup commands that affected boot 205s autopkgtest [20:31:17]: testbed running kernel: Linux 6.5.0-44-generic #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jun 18 16:55:18 UTC 2 233s autopkgtest [20:31:45]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 259s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (dsc) [3132 B] 259s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (tar) [1173 kB] 259s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (diff) [24.5 kB] 259s gpgv: Signature made Mon Jul 15 08:19:40 2024 UTC 259s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 259s gpgv: Can't check signature: No public key 259s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-1.dsc: no acceptable signature found 260s autopkgtest [20:32:12]: testing package translate-toolkit version 3.13.2-1 262s autopkgtest [20:32:14]: build not needed 265s autopkgtest [20:32:17]: test translate-toolkit: preparing testbed 276s Reading package lists... 276s Building dependency tree... 276s Reading state information... 277s Starting pkgProblemResolver with broken count: 0 277s Starting 2 pkgProblemResolver with broken count: 0 277s Done 278s The following additional packages will be installed: 278s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 278s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 278s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 278s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 278s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 278s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 278s python3-more-itertools python3-phply python3-ply python3-pycountry 278s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 278s python3-simplejson python3-soupsieve python3-translate python3-vobject 278s python3-wcwidth python3-xapian subversion translate-toolkit 278s Suggested packages: 278s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 278s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 278s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 278s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 278s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 278s subversion-tools 278s Recommended packages: 278s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 278s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 278s The following NEW packages will be installed: 278s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 278s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 278s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 278s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 278s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 278s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 278s python3-mistletoe python3-more-itertools python3-phply python3-ply 278s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 278s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 278s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 278s translate-toolkit 278s 0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. 278s Need to get 10.2 MB/10.2 MB of archives. 278s After this operation, 38.4 MB of additional disk space will be used. 278s Get:1 /tmp/autopkgtest.M7lUan/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [880 B] 278s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 278s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 279s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14.1.0-5ubuntu1 [125 kB] 279s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.22.5-1 [989 kB] 279s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 279s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.2 [86.0 kB] 279s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-2ubuntu1 [82.5 kB] 279s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 279s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 279s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 279s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 279s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-3ubuntu1 [40.5 kB] 279s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 279s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-2 [1198 kB] 279s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 279s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 279s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.15-1 [231 kB] 279s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 279s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 279s Get:21 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-charset-normalizer all 3.3.2-1 [47.9 kB] 279s Get:22 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.3.0-1 [54.9 kB] 279s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 279s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 279s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 279s Get:26 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 279s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 279s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.9.4+ds-1 [1200 kB] 279s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-3 [139 kB] 279s Get:30 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.2-1 [1199 kB] 279s Get:31 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 279s Get:32 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 279s Get:33 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 279s Get:34 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 279s Get:35 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 279s Get:36 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 279s Get:37 http://ftpmaster.internal/ubuntu oracular/main armhf python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 279s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.13.2-1 [319 kB] 279s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 279s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 279s Get:41 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-2 [892 kB] 279s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.13.2-1 [81.0 kB] 279s Get:43 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 279s Get:44 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 280s Preconfiguring packages ... 280s Fetched 10.2 MB in 1s (8256 kB/s) 280s Selecting previously unselected package emacsen-common. 280s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 58440 files and directories currently installed.) 280s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 280s Unpacking emacsen-common (3.0.5) ... 280s Selecting previously unselected package dictionaries-common. 280s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 280s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 280s Unpacking dictionaries-common (1.29.7) ... 281s Selecting previously unselected package libgomp1:armhf. 281s Preparing to unpack .../02-libgomp1_14.1.0-5ubuntu1_armhf.deb ... 281s Unpacking libgomp1:armhf (14.1.0-5ubuntu1) ... 281s Selecting previously unselected package gettext. 281s Preparing to unpack .../03-gettext_0.22.5-1_armhf.deb ... 281s Unpacking gettext (0.22.5-1) ... 281s Selecting previously unselected package hunspell-en-us. 281s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 281s Unpacking hunspell-en-us (1:2020.12.07-2) ... 281s Selecting previously unselected package libapr1t64:armhf. 281s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_armhf.deb ... 281s Unpacking libapr1t64:armhf (1.7.2-3.2) ... 281s Selecting previously unselected package libaprutil1t64:armhf. 281s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_armhf.deb ... 281s Unpacking libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 281s Selecting previously unselected package libaspell15:armhf. 282s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 282s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 283s Selecting previously unselected package libhunspell-1.7-0:armhf. 283s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 283s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 283s Selecting previously unselected package libenchant-2-2:armhf. 285s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 285s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 285s Selecting previously unselected package libexttextcat-data. 285s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 285s Unpacking libexttextcat-data (3.4.7-1build1) ... 285s Selecting previously unselected package libserf-1-1:armhf. 285s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_armhf.deb ... 285s Unpacking libserf-1-1:armhf (1.3.10-3ubuntu1) ... 285s Selecting previously unselected package libutf8proc3:armhf. 285s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 285s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 285s Selecting previously unselected package libsvn1:armhf. 285s Preparing to unpack .../13-libsvn1_1.14.3-2_armhf.deb ... 285s Unpacking libsvn1:armhf (1.14.3-2) ... 285s Selecting previously unselected package libxapian30:armhf. 285s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 285s Unpacking libxapian30:armhf (1.4.22-1build1) ... 285s Selecting previously unselected package libxslt1.1:armhf. 285s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 285s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 285s Selecting previously unselected package python3-aeidon. 286s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 286s Unpacking python3-aeidon (1.15-1) ... 286s Selecting previously unselected package python3-soupsieve. 286s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 286s Unpacking python3-soupsieve (2.5-1) ... 286s Selecting previously unselected package python3-bs4. 286s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 286s Unpacking python3-bs4 (4.12.3-1) ... 286s Selecting previously unselected package python3-charset-normalizer. 286s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 286s Unpacking python3-charset-normalizer (3.3.2-1) ... 286s Selecting previously unselected package python3-more-itertools. 286s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 286s Unpacking python3-more-itertools (10.3.0-1) ... 286s Selecting previously unselected package python3-jaraco.functools. 286s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 286s Unpacking python3-jaraco.functools (4.0.0-1) ... 286s Selecting previously unselected package python3-cheroot. 286s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 286s Unpacking python3-cheroot (10.0.0+ds1-2) ... 286s Selecting previously unselected package python3-dateutil. 286s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 286s Unpacking python3-dateutil (2.9.0-2) ... 286s Selecting previously unselected package python3-diff-match-patch. 286s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 286s Unpacking python3-diff-match-patch (20230430-1) ... 286s Selecting previously unselected package python3-enchant. 286s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 286s Unpacking python3-enchant (3.2.2-1) ... 286s Selecting previously unselected package python3-rapidfuzz. 286s Preparing to unpack .../26-python3-rapidfuzz_3.9.4+ds-1_armhf.deb ... 286s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 287s Selecting previously unselected package python3-levenshtein. 287s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_armhf.deb ... 287s Unpacking python3-levenshtein (0.25.1-3) ... 287s Selecting previously unselected package python3-lxml:armhf. 287s Preparing to unpack .../28-python3-lxml_5.2.2-1_armhf.deb ... 287s Unpacking python3-lxml:armhf (5.2.2-1) ... 287s Selecting previously unselected package python3-mistletoe. 287s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 287s Unpacking python3-mistletoe (1.3.0-1) ... 287s Selecting previously unselected package python3-ply. 287s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 287s Unpacking python3-ply (3.11-6) ... 287s Selecting previously unselected package python3-phply. 287s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 287s Unpacking python3-phply (1.2.6-1) ... 287s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 287s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 287s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 287s Selecting previously unselected package python3-ruamel.yaml. 287s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 287s Unpacking python3-ruamel.yaml (0.17.21-1) ... 287s Selecting previously unselected package python3-simplejson. 287s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_armhf.deb ... 287s Unpacking python3-simplejson (3.19.2-1build2) ... 287s Selecting previously unselected package python3-wcwidth. 287s Preparing to unpack .../35-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 287s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 287s Selecting previously unselected package python3-translate. 287s Preparing to unpack .../36-python3-translate_3.13.2-1_all.deb ... 287s Unpacking python3-translate (3.13.2-1) ... 287s Selecting previously unselected package python3-vobject. 287s Preparing to unpack .../37-python3-vobject_0.9.6.1-2_all.deb ... 287s Unpacking python3-vobject (0.9.6.1-2) ... 287s Selecting previously unselected package python3-xapian. 287s Preparing to unpack .../38-python3-xapian_1.4.22-1build5_armhf.deb ... 287s Unpacking python3-xapian (1.4.22-1build5) ... 288s Selecting previously unselected package subversion. 288s Preparing to unpack .../39-subversion_1.14.3-2_armhf.deb ... 288s Unpacking subversion (1.14.3-2) ... 288s Selecting previously unselected package translate-toolkit. 288s Preparing to unpack .../40-translate-toolkit_3.13.2-1_all.deb ... 288s Unpacking translate-toolkit (3.13.2-1) ... 288s Selecting previously unselected package python3-iniparse. 288s Preparing to unpack .../41-python3-iniparse_0.5-2_all.deb ... 288s Unpacking python3-iniparse (0.5-2) ... 288s Selecting previously unselected package python3-pycountry. 288s Preparing to unpack .../42-python3-pycountry_24.6.1+ds1-1_all.deb ... 288s Unpacking python3-pycountry (24.6.1+ds1-1) ... 288s Selecting previously unselected package autopkgtest-satdep. 288s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 288s Unpacking autopkgtest-satdep (0) ... 288s Setting up python3-more-itertools (10.3.0-1) ... 289s Setting up libxapian30:armhf (1.4.22-1build1) ... 289s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 289s Setting up python3-diff-match-patch (20230430-1) ... 289s Setting up python3-jaraco.functools (4.0.0-1) ... 289s Setting up python3-aeidon (1.15-1) ... 290s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 290s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 290s Setting up python3-charset-normalizer (3.3.2-1) ... 290s Setting up python3-ply (3.11-6) ... 291s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 291s Setting up libgomp1:armhf (14.1.0-5ubuntu1) ... 291s Setting up python3-simplejson (3.19.2-1build2) ... 291s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 291s Setting up emacsen-common (3.0.5) ... 291s Setting up python3-cheroot (10.0.0+ds1-2) ... 291s Setting up python3-pycountry (24.6.1+ds1-1) ... 291s Setting up python3-xapian (1.4.22-1build5) ... 291s Setting up python3-ruamel.yaml (0.17.21-1) ... 292s Setting up python3-mistletoe (1.3.0-1) ... 292s Setting up libexttextcat-data (3.4.7-1build1) ... 292s Setting up libapr1t64:armhf (1.7.2-3.2) ... 292s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 292s Setting up python3-dateutil (2.9.0-2) ... 292s Setting up python3-levenshtein (0.25.1-3) ... 292s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 292s Setting up python3-soupsieve (2.5-1) ... 293s Setting up python3-iniparse (0.5-2) ... 293s Setting up libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 293s Setting up python3-vobject (0.9.6.1-2) ... 293s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 293s patterns['name'] = '[a-zA-Z0-9\-_]+' 293s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 293s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 293s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 293s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 293s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 293s """ 293s Setting up gettext (0.22.5-1) ... 293s Setting up python3-phply (1.2.6-1) ... 293s Setting up dictionaries-common (1.29.7) ... 294s Setting up libserf-1-1:armhf (1.3.10-3ubuntu1) ... 294s Setting up python3-bs4 (4.12.3-1) ... 294s Setting up python3-lxml:armhf (5.2.2-1) ... 294s Setting up hunspell-en-us (1:2020.12.07-2) ... 294s Setting up libsvn1:armhf (1.14.3-2) ... 294s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 294s Setting up subversion (1.14.3-2) ... 294s Setting up python3-enchant (3.2.2-1) ... 294s Setting up python3-translate (3.13.2-1) ... 295s Setting up translate-toolkit (3.13.2-1) ... 295s Setting up autopkgtest-satdep (0) ... 295s Processing triggers for man-db (2.12.1-2) ... 296s Processing triggers for install-info (7.1-3build2) ... 296s Processing triggers for libc-bin (2.39-0ubuntu9) ... 296s Processing triggers for dictionaries-common (1.29.7) ... 313s (Reading database ... 61912 files and directories currently installed.) 313s Removing autopkgtest-satdep (0) ... 319s autopkgtest [20:33:11]: test translate-toolkit: [----------------------- 322s ========= SMOKE TEST: /usr/bin/android2po =========== 322s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 322s 322s Convert Android string files to Gettext PO localization files. See: 322s http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/android2po.html for examples and usage 322s instructions. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in xml format 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in po, pot formats 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in xml format 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s --duplicates=DUPLICATESTYLE 322s what to do with duplicate strings (identical source 322s text): merge, msgctxt (default: 'msgctxt') 322s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 322s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 322s input files [input files ...] 322s 322s positional arguments: 322s input files 322s 322s options: 322s -h, --help show this help message and exit 322s -d TMDB_FILE, --tmdb TMDB_FILE 322s translation memory database file (default: tm.db) 322s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 322s source language of translation files (default: en) 322s -t TARGET_LANG, --import-target-lang TARGET_LANG 322s target language of translation files 322s ========= SMOKE TEST: /usr/bin/csv2po =========== 322s 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] 322s 322s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 322s See: http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in csv format 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in po, pot formats 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in po, pot, pot formats 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s -P, --pot output PO Templates (.pot) rather than PO files (.po) 322s --charset=CHARSET set charset to decode from csv files 322s --columnorder=COLUMNORDER 322s specify the order and position of columns 322s (location,source,target,context) 322s --duplicates=DUPLICATESTYLE 322s what to do with duplicate strings (identical source 322s text): merge, msgctxt (default: 'msgctxt') 322s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 322s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 322s 322s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 322s glossary file. See: http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in csv format 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in tbx format 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s --charset=CHARSET set charset to decode from csv files 322s --columnorder=COLUMNORDER 322s specify the order and position of columns 322s (comment,source,target) 322s ========= SMOKE TEST: /usr/bin/dtd2po =========== 323s 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] 323s 323s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 323s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 323s this module You can convert back to .dtd using po2dtd.py. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in dtd format 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in po, pot formats 323s -t TEMPLATE, --template=TEMPLATE 323s read from TEMPLATE in dtd format 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s -P, --pot output PO Templates (.pot) rather than PO files (.po) 323s --duplicates=DUPLICATESTYLE 323s what to do with duplicate strings (identical source 323s text): merge, msgctxt (default: 'msgctxt') 323s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 323s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 323s 323s Convert flat XML files to Gettext PO localization files. See: 323s http://docs.translatehouse.org/projects/translate- 323s toolkit/en/latest/commands/flatxml2po.html for examples and usage 323s instructions. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in xml format 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in po, pot formats 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s -r ROOT, --root=ROOT name of the XML root element (default: "root") 323s -v VALUE, --value=VALUE 323s name of the XML value element (default: "str") 323s -k KEY, --key=KEY name of the XML key attribute (default: "key") 323s -n NS, --namespace=NS 323s XML namespace uri (default: None) 323s ========= SMOKE TEST: /usr/bin/html2po =========== 323s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 323s 323s Convert HTML files to Gettext PO localization files. See: 323s http://docs.translatehouse.org/projects/translate- 323s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in htm, html, xhtml formats 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in po, pot formats 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s -P, --pot output PO Templates (.pot) rather than PO files (.po) 323s --keepcomments preserve html comments as translation notes in the 323s output 323s --duplicates=DUPLICATESTYLE 323s what to do with duplicate strings (identical source 323s text): merge, msgctxt (default: 'msgctxt') 323s --multifile=MULTIFILESTYLE 323s how to split po/pot files (single, toplevel or 323s onefile) 323s ========= SMOKE TEST: /usr/bin/ical2po =========== 323s 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] 323s 323s Convert iCalendar files to Gettext PO localization files. See: 323s http://docs.translatehouse.org/projects/translate- 323s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in ics format 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in po, pot formats 323s -t TEMPLATE, --template=TEMPLATE 323s read from TEMPLATE in ics format 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s -P, --pot output PO Templates (.pot) rather than PO files (.po) 323s --duplicates=DUPLICATESTYLE 323s what to do with duplicate strings (identical source 323s text): merge, msgctxt (default: 'msgctxt') 323s ========= SMOKE TEST: /usr/bin/idml2po =========== 323s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 323s 323s Convert IDML files to PO localization files. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in idml format 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in po, pot formats 323s -S, --timestamp skip conversion if the output file has newer timestamp 324s ========= SMOKE TEST: /usr/bin/ini2po =========== 324s 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] 324s 324s Convert .ini files to Gettext PO localization files. See: 324s http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in ini, isl, iss formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in po, pot formats 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in ini, isl, iss formats 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s -P, --pot output PO Templates (.pot) rather than PO files (.po) 324s --duplicates=DUPLICATESTYLE 324s what to do with duplicate strings (identical source 324s text): merge, msgctxt (default: 'msgctxt') 324s ========= SMOKE TEST: /usr/bin/json2po =========== 324s 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] 324s 324s Convert JSON files to Gettext PO localization files. See: 324s http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in json format 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in po, pot formats 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in json format 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s -P, --pot output PO Templates (.pot) rather than PO files (.po) 324s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 324s everything) 324s --duplicates=DUPLICATESTYLE 324s what to do with duplicate strings (identical source 324s text): merge, msgctxt (default: 'msgctxt') 324s ========= SMOKE TEST: /usr/bin/md2po =========== 324s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 324s 324s Convert Markdown files to Gettext PO localization files. See: 324s http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in markdown, md, text, txt formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in po, pot formats 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s -P, --pot output PO Templates (.pot) rather than PO files (.po) 324s --duplicates=DUPLICATESTYLE 324s what to do with duplicate strings (identical source 324s text): merge, msgctxt (default: 'msgctxt') 324s --multifile=MULTIFILESTYLE 324s how to split po/pot files (single, toplevel or 324s onefile) 325s ========= SMOKE TEST: /usr/bin/moz2po =========== 325s 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] 325s 325s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 325s See: http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in *, dtd, inc, ini, it, js, lang, 325s manifest, properties, rdf formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 325s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 325s lang.pot, manifest, properties.po, properties.pot, rdf 325s formats 325s -t TEMPLATE, --template=TEMPLATE 325s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 325s manifest, properties, rdf formats 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s -P, --pot output PO Templates (.pot) rather than PO files (.po) 325s --duplicates=DUPLICATESTYLE 325s what to do with duplicate strings (identical source 325s text): merge, msgctxt (default: 'msgctxt') 325s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 325s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 325s 325s Convert Mozilla .lang files to Gettext PO localization files. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in lang format 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in po, pot formats 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s -P, --pot output PO Templates (.pot) rather than PO files (.po) 325s --encoding=ENCODING The encoding of the input file (default: UTF-8) 325s --duplicates=DUPLICATESTYLE 325s what to do with duplicate strings (identical source 325s text): merge, msgctxt (default: 'msgctxt') 325s ========= SMOKE TEST: /usr/bin/msghack =========== 325s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 325s This program can be used to alter .po files in ways no sane mind would think about. 325s -o result will be written to FILE 325s --invert invert a po file by switching msgid and msgstr 325s --master join any number of files in a master-formatted catalog 325s --empty empty the contents of the .po file, creating a .pot 325s --append append entries from ref.po that don't exist in file.po 325s 325s Note: It is just a replacement of msghack for backward support. 325s 325s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 325s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 325s 325s Convert OpenDocument (ODF) files to XLIFF localization files. See: 325s http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 325s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 325s formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in xlf, xliff formats 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s ========= SMOKE TEST: /usr/bin/oo2po =========== 326s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 326s 326s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 326s files. See: http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in oo, sdf formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in po, pot formats 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s -P, --pot output PO Templates (.pot) rather than PO files (.po) 326s -l LANG, --language=LANG 326s set target language to extract from oo file (e.g. af- 326s ZA) 326s --source-language=LANG 326s set source language code (default en-US) 326s --nonrecursiveinput don't treat the input oo as a recursive store 326s --duplicates=DUPLICATESTYLE 326s what to do with duplicate strings (identical source 326s text): merge, msgctxt (default: 'msgctxt') 326s --multifile=MULTIFILESTYLE 326s how to split po/pot files (single, toplevel or 326s onefile) 326s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 326s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 326s 326s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 326s files. See: http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in oo, sdf formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in xlf, xliff formats 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s -l LANG, --language=LANG 326s set target language to extract from oo file (e.g. af- 326s ZA) 326s --source-language=LANG 326s set source language code (default en-US) 326s --nonrecursiveinput don't treat the input oo as a recursive store 326s --duplicates=DUPLICATESTYLE 326s what to do with duplicate strings (identical source 326s text): merge, msgctxt (default: 'msgctxt') 326s --multifile=MULTIFILESTYLE 326s how to split po/pot files (single, toplevel or 326s onefile) 326s ========= SMOKE TEST: /usr/bin/php2po =========== 326s 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] 326s 326s Convert PHP localization files to Gettext PO localization files. See: 326s http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in html, php formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in po, pot formats 326s -t TEMPLATE, --template=TEMPLATE 326s read from TEMPLATE in html, php formats 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s -P, --pot output PO Templates (.pot) rather than PO files (.po) 326s --duplicates=DUPLICATESTYLE 326s what to do with duplicate strings (identical source 326s text): merge, msgctxt (default: 'msgctxt') 326s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 326s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 326s 326s Convert PHP format .po files to Python format .po files. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in po, pot formats 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s ========= SMOKE TEST: /usr/bin/po2csv =========== 326s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 326s 326s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 326s See: http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in csv format 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s --columnorder=COLUMNORDER 326s specify the order and position of columns 326s (location,source,target,context) 327s ========= SMOKE TEST: /usr/bin/po2dtd =========== 327s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 327s Conversion is either done using a template plus PO file or just using the 327s .po file. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in dtd format 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in dtd format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --threshold=PERCENT only convert files where the translation completion is 327s above PERCENT 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 327s --removeuntranslated remove untranslated strings from output 327s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 327s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Convert Gettext PO localization files to flat XML files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/flatxml2po.html for examples and usage 327s instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in xml format 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in xml format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s -r ROOT, --root=ROOT name of the XML root element (default: "root") 327s -v VALUE, --value=VALUE 327s name of the XML value element (default: "str") 327s -k KEY, --key=KEY name of the XML key attribute (default: "key") 327s -n NS, --namespace=NS 327s XML namespace uri (default: None) 327s -w INDENT, --indent=INDENT 327s indent width in spaces, 0 for no indent (default: 2) 327s ========= SMOKE TEST: /usr/bin/po2html =========== 327s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Translate HTML files using Gettext PO localization files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in htm, html, xhtml formats 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in htm, html, xhtml formats 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --threshold=PERCENT only convert files where the translation completion is 327s above PERCENT 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 327s ========= SMOKE TEST: /usr/bin/po2ical =========== 327s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Convert Gettext PO localization files to iCalendar files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in ics format 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in ics format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --threshold=PERCENT only convert files where the translation completion is 327s above PERCENT 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 327s ========= SMOKE TEST: /usr/bin/po2idml =========== 328s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 328s 328s Takes an IDML template file and a PO file containing translations of strings 328s in the IDML template. It creates a new IDML file using the translations of the 328s PO file. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in idml format 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in idml format 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s ========= SMOKE TEST: /usr/bin/po2ini =========== 328s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 328s 328s Convert Gettext PO localization files to .ini files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in ini, isl formats 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in ini, isl formats 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s --threshold=PERCENT only convert files where the translation completion is 328s above PERCENT 328s --fuzzy use translations marked fuzzy 328s --nofuzzy don't use translations marked fuzzy (default) 328s ========= SMOKE TEST: /usr/bin/po2json =========== 328s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 328s 328s Convert Gettext PO localization files to JSON files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in json format 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in json format 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s --threshold=PERCENT only convert files where the translation completion is 328s above PERCENT 328s --fuzzy use translations marked fuzzy 328s --nofuzzy don't use translations marked fuzzy (default) 328s --removeuntranslated remove untranslated strings from output 328s ========= SMOKE TEST: /usr/bin/po2md =========== 328s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 328s 328s Translate Markdown files using Gettext PO localization files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in markdown, md, text, txt formats 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in markdown, md, text, txt formats 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s -m MAXLENGTH, --maxlinelength=MAXLENGTH 328s reflow (word wrap) the output to the given maximum 328s line length. set to 0 to disable 328s --threshold=PERCENT only convert files where the translation completion is 328s above PERCENT 328s --fuzzy use translations marked fuzzy 328s --nofuzzy don't use translations marked fuzzy (default) 329s ========= SMOKE TEST: /usr/bin/po2moz =========== 329s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 329s 329s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 329s See: http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in *, dtd.po, dtd.pot, inc.po, 329s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 329s lang.pot, manifest, properties.po, properties.pot, rdf 329s formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 329s manifest, properties, rdf formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 329s manifest, properties, rdf formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s -l LOCALE, --locale=LOCALE 329s set output locale (required as this sets the directory 329s names) 329s --threshold=PERCENT only convert files where the translation completion is 329s above PERCENT 329s --fuzzy use translations marked fuzzy 329s --nofuzzy don't use translations marked fuzzy (default) 329s --removeuntranslated remove untranslated strings from output 329s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 329s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 329s 329s Convert Gettext PO localization files to Mozilla .lang files. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po, pot formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in lang format 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in lang format 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s --mark-active mark the file as active 329s --threshold=PERCENT only convert files where the translation completion is 329s above PERCENT 329s --fuzzy use translations marked fuzzy 329s --nofuzzy don't use translations marked fuzzy (default) 329s ========= SMOKE TEST: /usr/bin/po2oo =========== 329s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 329s 329s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 329s file. See: http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po, pot, xlf, xliff formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in oo, sdf formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in oo, sdf formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s -l LANG, --language=LANG 329s set target language code (e.g. af-ZA) [required] 329s --source-language=LANG 329s set source language code (default en-US) 329s -T, --keeptimestamp don't change the timestamps of the strings 329s --nonrecursiveoutput don't treat the output oo as a recursive store 329s --nonrecursivetemplate 329s don't treat the template oo as a recursive store 329s --skipsource don't output the source language, but fallback to it 329s where needed 329s --filteraction=ACTION 329s action on pofilter failure: none (default), warn, 329s exclude-serious, exclude-all 329s --threshold=PERCENT only convert files where the translation completion is 329s above PERCENT 329s --fuzzy use translations marked fuzzy 329s --nofuzzy don't use translations marked fuzzy (default) 329s --multifile=MULTIFILESTYLE 329s how to split po/pot files (single, toplevel or 329s onefile) 330s ========= SMOKE TEST: /usr/bin/po2php =========== 330s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 330s 330s Convert Gettext PO localization files to PHP localization files. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in html, php formats 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in html, php formats 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s --threshold=PERCENT only convert files where the translation completion is 330s above PERCENT 330s --fuzzy use translations marked fuzzy 330s --nofuzzy don't use translations marked fuzzy (default) 330s ========= SMOKE TEST: /usr/bin/po2prop =========== 330s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 330s 330s Convert Gettext PO localization files to Java/Mozilla .properties files. 330s See: http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in lang, properties, strings formats 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in lang, properties, strings 330s formats 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s --personality=TYPE override the input file format: java, java-utf8, java- 330s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 330s strings, strings-utf8, joomla (for .properties files, 330s default: java) 330s --encoding=ENCODING override the encoding set by the personality 330s --threshold=PERCENT only convert files where the translation completion is 330s above PERCENT 330s --fuzzy use translations marked fuzzy 330s --nofuzzy don't use translations marked fuzzy (default) 330s --removeuntranslated remove untranslated strings from output 330s ========= SMOKE TEST: /usr/bin/po2rc =========== 330s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 330s 330s Convert Gettext PO localization files back to Windows Resource (.rc) files. 330s See: http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in rc format 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in rc format 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 330s -l LANG, --lang=LANG LANG entry 330s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 330s --threshold=PERCENT only convert files where the translation completion is 330s above PERCENT 330s --fuzzy use translations marked fuzzy 330s --nofuzzy don't use translations marked fuzzy (default) 330s ========= SMOKE TEST: /usr/bin/po2resx =========== 330s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 330s 330s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in resx format 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in resx format 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s --fuzzy use translations marked fuzzy 330s --nofuzzy don't use translations marked fuzzy (default) 331s ========= SMOKE TEST: /usr/bin/po2sub =========== 331s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 331s 331s Convert Gettext PO localization files to subtitle files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in ass, srt, ssa, sub formats 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in ass, srt, ssa, sub formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s --threshold=PERCENT only convert files where the translation completion is 331s above PERCENT 331s --fuzzy use translations marked fuzzy 331s --nofuzzy don't use translations marked fuzzy (default) 331s ========= SMOKE TEST: /usr/bin/po2symb =========== 331s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 331s 331s Convert Gettext PO localization files to Symbian translation files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in r0 format 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s ========= SMOKE TEST: /usr/bin/po2tiki =========== 331s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert Gettext PO files to TikiWiki's language.php files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in tiki format 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s ========= SMOKE TEST: /usr/bin/po2tmx =========== 331s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 331s file. See: http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in tmx format 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -l LANG, --language=LANG 331s set target language code (e.g. af-ZA) [required] 331s --source-language=LANG 331s set source language code (default: en) 331s --comments=COMMENT set default comment import: none, source, type or 331s others (default: none) 331s ========= SMOKE TEST: /usr/bin/po2ts =========== 331s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 331s 331s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in ts format 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in ts format 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -c CONTEXT, --context=CONTEXT 331s use supplied context instead of the one in the .po 331s file comment 332s ========= SMOKE TEST: /usr/bin/po2txt =========== 332s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Convert Gettext PO localization files to plain text (.txt) files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in po, pot, xlf, xliff formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in txt format 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in txt format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --encoding=ENCODING The encoding of the template file (default: UTF-8) 332s -w WRAP, --wrap=WRAP set number of columns to wrap text at 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 332s ========= SMOKE TEST: /usr/bin/po2web2py =========== 332s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 332s 332s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in py format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 332s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 332s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 332s 332s Convert Gettext PO localization files to a Wordfast translation memory file. 332s See: http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/po2wordfast.html for examples and usage 332s instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in txt format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s -l LANG, --language=LANG 332s set target language code (e.g. af-ZA) [required] 332s --source-language=LANG 332s set source language code (default: en) 332s ========= SMOKE TEST: /usr/bin/po2xliff =========== 332s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Convert Gettext PO localization files to XLIFF localization files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in xlf, xliff formats 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in xlf, xliff formats 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s ========= SMOKE TEST: /usr/bin/po2yaml =========== 332s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Convert Gettext PO localization files to YAML files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in yaml, yml formats 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in yaml, yml formats 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 333s ========= SMOKE TEST: /usr/bin/poclean =========== 333s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 333s 333s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 333s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 333s produces the target file with only the target text in from a text version of 333s the RTF. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in po, pot, xlf, xliff formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in po, pot, xlf, xliff formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s ========= SMOKE TEST: /usr/bin/pocompendium =========== 333s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 333s The first parameter is the output file, standard output if the output file is '-'. 333s Any number of directories may be specified for input files. 333s Options: 333s --invert|v Creates an inverse compendium with msgid and msgstr swapped 333s --errors|e Only ouput msg bundles that have errors 333s --correct|c Only ouput msg bundles that are correctly translated 333s --ignore-case|i Drops all strings to lowercase 333s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 333s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 333s --strip-accel-under|-su Strip all underscore (_) accelerator characters 333s ========= SMOKE TEST: /usr/bin/pocompile =========== 333s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 333s 333s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 333s Object) files. See: http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in po, pot, xlf, xliff formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in mo format 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s --fuzzy use translations marked fuzzy 333s --nofuzzy don't use translations marked fuzzy (default) 333s ========= SMOKE TEST: /usr/bin/poconflicts =========== 333s 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] 333s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 333s 333s Conflict finder for Gettext PO localization files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/poconflicts.html for examples and usage 333s instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in po format 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in po format 333s -I, --ignore-case ignore case distinctions 333s -v, --invert invert the conflicts thus extracting conflicting 333s destination words 333s --accelerator=ACCELERATORS 333s ignores the given accelerator characters when matching 333s ========= SMOKE TEST: /usr/bin/pocount =========== 333s usage: pocount [-h] [--incomplete] 333s [--full | --csv | --short | --short-strings | --short-words] 333s [--no-color] 333s files [files ...] 333s 333s positional arguments: 333s files 333s 333s options: 333s -h, --help show this help message and exit 333s --incomplete skip 100% translated files. 333s 333s Output format: 333s --full (default) statistics in full, verbose format 333s --csv statistics in CSV format 333s --short same as --short-strings 333s --short-strings statistics of strings in short format - one line per file 333s --short-words statistics of words in short format - one line per file 333s --no-color show output without color 333s ========= SMOKE TEST: /usr/bin/podebug =========== 334s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 334s 334s Insert debug messages into XLIFF and Gettext PO localization files. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in po, pot, pot, tmx, xlf, xliff 334s formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po, pot, tmx, xlf, xliff formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s -f FORMAT, --format=FORMAT 334s specify format string 334s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 334s classified, en, flipped, unicode, xxx 334s --ignore=APPLICATION apply tagging ignore rules for the given application: 334s gtk, kde, libreoffice, mozilla, openoffice 334s --preserveplaceholders 334s attempt to exclude characters that are part of 334s placeholders when performing character-level rewrites 334s so that consuming applications can still use the 334s placeholders to generate final output 334s ========= SMOKE TEST: /usr/bin/pofilter =========== 334s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 334s 334s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 334s Snippet files are created whenever a test fails. These can be examined, 334s corrected and merged back into the originals using pomerge. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 334s and http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 334s tests. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in po, pot, tmx, xlf, xliff formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po, pot, tmx, xlf, xliff formats 334s -l, --listfilters list filters available 334s --review include units marked for review (default) 334s --noreview exclude units marked for review 334s --fuzzy include units marked fuzzy (default) 334s --nofuzzy exclude units marked fuzzy 334s --nonotes don't add notes about the errors 334s --autocorrect output automatic corrections where possible rather 334s than describing issues 334s --language=LANG set target language code (e.g. af-ZA) [required for 334s spell check and recommended in general] 334s --openoffice use the standard checks for OpenOffice translations 334s --libreoffice use the standard checks for LibreOffice translations 334s --mozilla use the standard checks for Mozilla translations 334s --drupal use the standard checks for Drupal translations 334s --gnome use the standard checks for Gnome translations 334s --kde use the standard checks for KDE translations 334s --wx use the standard checks for wxWidgets translations 334s --excludefilter=FILTER 334s don't use FILTER when filtering 334s -t FILTER, --test=FILTER 334s only use test FILTERs specified with this option when 334s filtering 334s --notranslatefile=FILE 334s read list of untranslatable words from FILE (must not 334s be translated) 334s --musttranslatefile=FILE 334s read list of translatable words from FILE (must be 334s translated) 334s --validcharsfile=FILE 334s read list of all valid characters from FILE (must be 334s in UTF-8) 334s ========= SMOKE TEST: /usr/bin/pogrep =========== 334s 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] 334s 334s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 334s snippet files of the same type which can then be reviewed and later merged 334s using :doc:`pomerge `. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 334s xliff formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 334s xliff formats 334s --search=SEARCHPARTS searches the given parts (source, target, notes and 334s locations) 334s -I, --ignore-case ignore case distinctions 334s -e, --regexp use regular expression matching 334s -v, --invert-match select non-matching lines 334s --accelerator=ACCELERATOR 334s ignores the given accelerator when matching 334s -k, --keep-translations 334s always extract units with translations 334s ========= SMOKE TEST: /usr/bin/pomerge =========== 334s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 334s 334s Merges XLIFF and Gettext PO localization files. Snippet file produced by 334s e.g. :doc:`pogrep ` and updated by a translator can be 334s merged back into the original files. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in po, pot, pot, xlf, xliff formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po, pot, pot, xlf, xliff formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in po, pot, pot, xlf, xliff formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s --mergeblanks=MERGEBLANKS 334s whether to overwrite existing translations with blank 334s translations (yes/no). Default is yes. 334s --mergefuzzy=MERGEFUZZY 334s whether to consider fuzzy translations from input 334s (yes/no). Default is yes. 334s --mergecomments=MERGECOMMENTS 334s whether to merge comments as well as translations 334s (yes/no). Default is yes. 334s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 334s Usage pomigrate2 [options] 334s 334s Options: 334s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 334s -C|--use-compendium - create and use a compendium built from the migrating files 334s -C|--use-compendium=some-compendium.po 334s - use an external compendium during the migration 334s --no-wrap - do not wrap long lines 334s --locale=lang - set locale for newly born files 334s -q|--quiet - suppress most output 334s -p|--pot2po - use pot2po instead of msgmerge to migrate 334s ========= SMOKE TEST: /usr/bin/popuretext =========== 334s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 334s ========= SMOKE TEST: /usr/bin/poreencode =========== 334s Usage: poreencode 334s eg: poreencode UTF-8 af/ 334s ========= SMOKE TEST: /usr/bin/porestructure =========== 334s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 334s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 334s 334s Restructure Gettxt PO files produced by :doc:`poconflicts 334s ` into the original directory tree for merging using 334s :doc:`pomerge `. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in po format 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po format 335s ========= SMOKE TEST: /usr/bin/posegment =========== 335s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 335s 335s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 335s See: http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot, tmx, xlf, xliff formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in po, pot, tmx, xlf, xliff formats 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s -P, --pot output PO Templates (.pot) rather than PO files (.po) 335s -l LANG, --language=LANG 335s the target language code 335s --source-language=LANG 335s the source language code (default 'en') 335s --keepspaces Disable automatic stripping of whitespace 335s --only-aligned Removes units where sentence number does not 335s correspond 335s ========= SMOKE TEST: /usr/bin/poswap =========== 335s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Builds a new translation file with the target of the input language as source 335s language. .. note:: Ensure that the two po files correspond 100% to the same 335s pot file before using this. To translate Kurdish (ku) through French:: 335s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 335s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in po, pot formats 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in po, pot, pot formats 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --reverse reverse the process of intermediate language 335s conversion 335s ========= SMOKE TEST: /usr/bin/pot2po =========== 335s 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] 335s 335s Convert template files (like .pot or template .xlf files) to translation 335s files, preserving existing translations. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 335s formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 335s xliff formats 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 335s xliff formats 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s -P, --pot output PO Templates (.pot) rather than PO files (.po) 335s --tm=TM The file to use as translation memory when fuzzy 335s matching 335s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 335s The minimum similarity for inclusion (default: 75%) 335s --nofuzzymatching Disable fuzzy matching 335s ========= SMOKE TEST: /usr/bin/poterminology =========== 335s 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] 335s input directory is searched for PO files, terminology PO file is output file 335s 335s Create a terminology file by reading a set of .po or .pot files to produce a 335s pootle-terminology.pot. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/poterminology.html for examples and usage 335s instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in po, pot formats 335s -u UPDATEFILE, --update=UPDATEFILE 335s update terminology in UPDATEFILE 335s -S STOPFILE, --stopword-list=STOPFILE 335s read stopword (term exclusion) list from STOPFILE 335s (default /usr/share/pyshared/translate/share/stoplist- 335s en) 335s -F, --fold-titlecase fold "Title Case" to lowercase (default) 335s -C, --preserve-case preserve all uppercase/lowercase 335s -I, --ignore-case make all terms lowercase 335s --accelerator=ACCELERATORS 335s ignore the given accelerator characters when matching 335s -t LENGTH, --term-words=LENGTH 335s generate terms of up to LENGTH words (default 3) 335s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 335s 1) 335s --inputs-needed=MIN omit terms appearing in less than MIN input files 335s (default 2, or 1 if only one input file) 335s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 335s different messages (default 1) 335s --substr-needed=MIN omit substring-only terms appearing in less than MIN 335s different messages (default 2) 335s --locs-needed=MIN omit terms appearing in less than MIN different 335s original source files (default 2) 335s --sort=ORDER output sort order(s): frequency, dictionary, length 335s (may repeat option, default is all in above order) 335s --source-language=LANG 335s the source language code (default 'en') 335s -v, --invert invert the source and target languages for terminology 335s ========= SMOKE TEST: /usr/bin/pretranslate =========== 335s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Fill localization files with suggested translations based on translation 335s memory and existing translations. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/pretranslate.html for examples and usage 335s instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot, pot, xlf, xliff formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in po, pot, xlf, xliff formats 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in po, pot, xlf, xliff formats 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --tm=TM The file to use as translation memory when fuzzy 335s matching 335s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 335s The minimum similarity for inclusion (default: 75%) 335s --nofuzzymatching Disable fuzzy matching 336s ========= SMOKE TEST: /usr/bin/prop2po =========== 336s 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] 336s 336s Convert Java/Mozilla .properties files to Gettext PO localization files. 336s See: http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in lang, properties, strings formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in po, pot formats 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in lang, properties, strings 336s formats 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s -P, --pot output PO Templates (.pot) rather than PO files (.po) 336s --personality=TYPE override the input file format: java, java-utf8, java- 336s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 336s strings, strings-utf8, joomla (for .properties files, 336s default: java) 336s --encoding=ENCODING override the encoding set by the personality 336s --duplicates=DUPLICATESTYLE 336s what to do with duplicate strings (identical source 336s text): merge, msgctxt (default: 'msgctxt') 336s ========= SMOKE TEST: /usr/bin/pydiff =========== 336s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 336s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 336s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 336s fromfile tofile 336s 336s positional arguments: 336s fromfile 336s tofile 336s 336s options: 336s -h, --help show this help message and exit 336s -i, --ignore-case Ignore case differences in file contents. 336s -U NUM, --unified NUM 336s Output NUM (default 3) lines of unified context 336s -r, --recursive Recursively compare any subdirectories found. 336s -N, --new-file Treat absent files as empty. 336s --unidirectional-new-file 336s Treat absent first files as empty. 336s -s, --report-identical-files 336s Report when two files are the same. 336s -x PAT, --exclude PAT 336s Exclude files that match PAT. 336s --fromcontains TEXT Only show changes where fromfile contains TEXT 336s --tocontains TEXT Only show changes where tofile contains TEXT 336s --contains TEXT Only show changes where fromfile or tofile contains 336s TEXT 336s -I, --ignore-case-contains 336s Ignore case differences when matching any of the 336s changes 336s --accelerator ACCELERATORS 336s ignores the given accelerator characters when matching 336s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 336s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 336s 336s Convert Python format .po files to PHP format .po files. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in po, pot formats 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s ========= SMOKE TEST: /usr/bin/rc2po =========== 336s 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] 336s 336s Convert Windows RC files to Gettext PO localization files. See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in nls, rc formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in po, pot formats 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in nls, rc formats 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s -P, --pot output PO Templates (.pot) rather than PO files (.po) 336s --charset=CHARSET charset to use to decode the RC files (autodetection 336s is used by default) 336s -l LANG, --lang=LANG LANG entry (default: None) 336s --sublang=SUBLANG SUBLANG entry (default: None) 336s --duplicates=DUPLICATESTYLE 336s what to do with duplicate strings (identical source 336s text): merge, msgctxt (default: 'msgctxt') 337s ========= SMOKE TEST: /usr/bin/resx2po =========== 337s 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] 337s 337s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in resx format 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot formats 337s -t TEMPLATE, --template=TEMPLATE 337s read from TEMPLATE in resx format 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s -P, --pot output PO Templates (.pot) rather than PO files (.po) 337s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 337s everything) 337s --duplicates=DUPLICATESTYLE 337s what to do with duplicate strings (identical source 337s text): merge, msgctxt (default: 'msgctxt') 337s ========= SMOKE TEST: /usr/bin/sub2po =========== 337s 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] 337s 337s Convert subtitle files to Gettext PO localization files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in ass, srt, ssa, sub formats 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot formats 337s -t TEMPLATE, --template=TEMPLATE 337s read from TEMPLATE in ass, srt, ssa, sub formats 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s -P, --pot output PO Templates (.pot) rather than PO files (.po) 337s --duplicates=DUPLICATESTYLE 337s what to do with duplicate strings (identical source 337s text): merge, msgctxt (default: 'msgctxt') 337s ========= SMOKE TEST: /usr/bin/symb2po =========== 337s 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] 337s 337s Convert Symbian localisation files to Gettext PO localization files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in r01 format 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot formats 337s -t TEMPLATE, --template=TEMPLATE 337s read from TEMPLATE in 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s -P, --pot output PO Templates (.pot) rather than PO files (.po) 337s --duplicates=DUPLICATESTYLE 337s what to do with duplicate strings (identical source 337s text): merge, msgctxt (default: 'msgctxt') 337s ========= SMOKE TEST: /usr/bin/tbx2po =========== 337s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 337s 337s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in tbx format 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot formats 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s ========= SMOKE TEST: /usr/bin/tiki2po =========== 337s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 337s 337s Convert TikiWiki's language.php files to Gettext PO localization files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in php format 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot formats 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s --include-unused Include strings in the unused section 338s ========= SMOKE TEST: /usr/bin/tmserver =========== 338s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 338s [-s SOURCE_LANG] [-b BIND] [-p PORT] 338s [--max-candidates MAX_CANDIDATES] 338s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 338s [--debug] 338s 338s options: 338s -h, --help show this help message and exit 338s -d TMDBFILE, --tmdb TMDBFILE 338s translation memory database file 338s -f TMFILES, --import-translation-file TMFILES 338s translation file to import into the database 338s -t TARGET_LANG, --import-target-lang TARGET_LANG 338s target language of translation files 338s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 338s source language of translation files 338s -b BIND, --bind BIND address to bind server to (default: localhost) 338s -p PORT, --port PORT port to listen on (default: 8888) 338s --max-candidates MAX_CANDIDATES 338s Maximum number of candidates 338s --min-similarity MIN_SIMILARITY 338s minimum similarity 338s --max-length MAX_LENGTH 338s Maxmimum string length 338s --debug enable debugging features 338s ========= SMOKE TEST: /usr/bin/ts2po =========== 338s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 338s 338s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in ts format 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po, pot formats 338s -S, --timestamp skip conversion if the output file has newer timestamp 338s -P, --pot output PO Templates (.pot) rather than PO files (.po) 338s --duplicates=DUPLICATESTYLE 338s what to do with duplicate strings (identical source 338s text): merge, msgctxt (default: 'msgctxt') 339s ========= SMOKE TEST: /usr/bin/txt2po =========== 339s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 339s 339s Convert plain text (.txt) files to Gettext PO localization files. See: 339s http://docs.translatehouse.org/projects/translate- 339s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 339s 339s Options: 339s --version show program's version number and exit 339s -h, --help show this help message and exit 339s --manpage output a manpage based on the help 339s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 339s --errorlevel=ERRORLEVEL 339s show errorlevel as: none, message, exception, 339s traceback 339s -i INPUT, --input=INPUT 339s read from INPUT in *, txt formats 339s -x EXCLUDE, --exclude=EXCLUDE 339s exclude names matching EXCLUDE from input paths 339s -o OUTPUT, --output=OUTPUT 339s write to OUTPUT in po, pot formats 339s -S, --timestamp skip conversion if the output file has newer timestamp 339s -P, --pot output PO Templates (.pot) rather than PO files (.po) 339s --encoding=ENCODING The encoding of the input file (default: UTF-8) 339s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 339s mediawiki 339s --no-segmentation Don't segment the file, treat it like a single message 339s --duplicates=DUPLICATESTYLE 339s what to do with duplicate strings (identical source 339s text): merge, msgctxt (default: 'msgctxt') 339s ========= SMOKE TEST: /usr/bin/web2py2po =========== 339s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 339s 339s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 339s http://docs.translatehouse.org/projects/translate- 339s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 339s 339s Options: 339s --version show program's version number and exit 339s -h, --help show this help message and exit 339s --manpage output a manpage based on the help 339s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 339s --errorlevel=ERRORLEVEL 339s show errorlevel as: none, message, exception, 339s traceback 339s -i INPUT, --input=INPUT 339s read from INPUT in py format 339s -x EXCLUDE, --exclude=EXCLUDE 339s exclude names matching EXCLUDE from input paths 339s -o OUTPUT, --output=OUTPUT 339s write to OUTPUT in po, pot formats 339s -S, --timestamp skip conversion if the output file has newer timestamp 339s -P, --pot output PO Templates (.pot) rather than PO files (.po) 339s --duplicates=DUPLICATESTYLE 339s what to do with duplicate strings (identical source 339s text): merge, msgctxt (default: 'msgctxt') 339s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 340s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 340s 340s Convert XLIFF translation files to OpenDocument (ODF) files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in xlf format 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 340s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 340s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 340s formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 340s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 340s 340s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 340s file. See: http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in po, pot, xlf, xliff formats 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in oo, sdf formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in oo, sdf formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s -l LANG, --language=LANG 340s set target language code (e.g. af-ZA) [required] 340s --source-language=LANG 340s set source language code (default en-US) 340s -T, --keeptimestamp don't change the timestamps of the strings 340s --nonrecursiveoutput don't treat the output oo as a recursive store 340s --nonrecursivetemplate 340s don't treat the template oo as a recursive store 340s --skipsource don't output the source language, but fallback to it 340s where needed 340s --filteraction=ACTION 340s action on pofilter failure: none (default), warn, 340s exclude-serious, exclude-all 340s --fuzzy use translations marked fuzzy 340s --nofuzzy don't use translations marked fuzzy (default) 340s --multifile=MULTIFILESTYLE 340s how to split po/pot files (single, toplevel or 340s onefile) 341s ========= SMOKE TEST: /usr/bin/xliff2po =========== 341s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 341s 341s Convert XLIFF localization files to Gettext PO localization files. See: 341s http://docs.translatehouse.org/projects/translate- 341s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 341s 341s Options: 341s --version show program's version number and exit 341s -h, --help show this help message and exit 341s --manpage output a manpage based on the help 341s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 341s --errorlevel=ERRORLEVEL 341s show errorlevel as: none, message, exception, 341s traceback 341s -i INPUT, --input=INPUT 341s read from INPUT in xlf, xliff formats 341s -x EXCLUDE, --exclude=EXCLUDE 341s exclude names matching EXCLUDE from input paths 341s -o OUTPUT, --output=OUTPUT 341s write to OUTPUT in po, pot formats 341s -S, --timestamp skip conversion if the output file has newer timestamp 341s -P, --pot output PO Templates (.pot) rather than PO files (.po) 341s --duplicates=DUPLICATESTYLE 341s what to do with duplicate strings (identical source 341s text): merge, msgctxt (default: 'msgctxt') 342s ========= SMOKE TEST: /usr/bin/yaml2po =========== 342s 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] 342s 342s Convert YAML files to Gettext PO localization files. See: 342s http://docs.translatehouse.org/projects/translate- 342s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 342s 342s Options: 342s --version show program's version number and exit 342s -h, --help show this help message and exit 342s --manpage output a manpage based on the help 342s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 342s --errorlevel=ERRORLEVEL 342s show errorlevel as: none, message, exception, 342s traceback 342s -i INPUT, --input=INPUT 342s read from INPUT in yaml, yml formats 342s -x EXCLUDE, --exclude=EXCLUDE 342s exclude names matching EXCLUDE from input paths 342s -o OUTPUT, --output=OUTPUT 342s write to OUTPUT in po, pot formats 342s -t TEMPLATE, --template=TEMPLATE 342s read from TEMPLATE in yaml, yml formats 342s -S, --timestamp skip conversion if the output file has newer timestamp 342s -P, --pot output PO Templates (.pot) rather than PO files (.po) 342s --duplicates=DUPLICATESTYLE 342s what to do with duplicate strings (identical source 342s text): merge, msgctxt (default: 'msgctxt') 343s autopkgtest [20:33:35]: test translate-toolkit: -----------------------] 347s translate-toolkit PASS 347s autopkgtest [20:33:39]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 351s autopkgtest [20:33:43]: test python3-translate: preparing testbed 416s autopkgtest [20:34:48]: testbed dpkg architecture: armhf 417s autopkgtest [20:34:49]: testbed apt version: 2.9.6 417s autopkgtest [20:34:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup 426s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 426s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 426s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [59.7 kB] 426s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [398 kB] 426s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3440 B] 426s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf Packages [89.2 kB] 426s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf c-n-f Metadata [1428 B] 426s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf Packages [1368 B] 426s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted armhf c-n-f Metadata [120 B] 426s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf Packages [364 kB] 426s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe armhf c-n-f Metadata [6916 B] 426s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf Packages [2072 B] 426s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse armhf c-n-f Metadata [120 B] 429s Fetched 1061 kB in 1s (931 kB/s) 430s Reading package lists... 445s tee: /proc/self/fd/2: Permission denied 471s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 471s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 471s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 471s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 473s Reading package lists... 473s Reading package lists... 473s Building dependency tree... 473s Reading state information... 474s Calculating upgrade... 475s The following packages will be upgraded: 475s cloud-init cpio dash gcc-14-base gdisk krb5-locales libbpf1 libgcc-s1 475s libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 libpython3-stdlib 475s libstdc++6 libudisks2-0 libxml2 netcat-openbsd python3 python3-gdbm 475s python3-minimal udisks2 476s 21 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 476s Need to get 3595 kB of archives. 476s After this operation, 69.6 kB disk space will be freed. 476s Get:1 http://ftpmaster.internal/ubuntu oracular/main armhf dash armhf 0.5.12-9ubuntu1 [81.3 kB] 476s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-minimal armhf 3.12.4-1 [27.1 kB] 476s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3 armhf 3.12.4-1 [24.0 kB] 476s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf libpython3-stdlib armhf 3.12.4-1 [9824 B] 476s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gcc-14-base armhf 14.1.0-5ubuntu1 [49.8 kB] 476s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf libstdc++6 armhf 14.1.0-5ubuntu1 [711 kB] 476s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libgcc-s1 armhf 14.1.0-5ubuntu1 [40.8 kB] 476s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf krb5-locales all 1.21.3-3 [14.3 kB] 476s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libbpf1 armhf 1:1.4.5-1 [151 kB] 476s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libgssapi-krb5-2 armhf 1.21.3-3 [120 kB] 476s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libkrb5-3 armhf 1.21.3-3 [313 kB] 476s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libkrb5support0 armhf 1.21.3-3 [31.2 kB] 476s Get:13 http://ftpmaster.internal/ubuntu oracular/main armhf libk5crypto3 armhf 1.21.3-3 [78.6 kB] 476s Get:14 http://ftpmaster.internal/ubuntu oracular/main armhf libxml2 armhf 2.12.7+dfsg-3 [560 kB] 476s Get:15 http://ftpmaster.internal/ubuntu oracular/main armhf netcat-openbsd armhf 1.226-1.1 [42.2 kB] 476s Get:16 http://ftpmaster.internal/ubuntu oracular/main armhf cpio armhf 2.15+dfsg-1ubuntu3 [82.6 kB] 476s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-gdbm armhf 3.12.4-2 [16.9 kB] 476s Get:18 http://ftpmaster.internal/ubuntu oracular/main armhf udisks2 armhf 2.10.1-9ubuntu1 [277 kB] 476s Get:19 http://ftpmaster.internal/ubuntu oracular/main armhf libudisks2-0 armhf 2.10.1-9ubuntu1 [142 kB] 476s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf cloud-init all 24.3~1g6e4153b3-0ubuntu1 [592 kB] 476s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf gdisk armhf 1.0.10-2 [229 kB] 477s Preconfiguring packages ... 477s Fetched 3595 kB in 1s (5098 kB/s) 477s (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 ... 58436 files and directories currently installed.) 477s Preparing to unpack .../dash_0.5.12-9ubuntu1_armhf.deb ... 477s Unpacking dash (0.5.12-9ubuntu1) over (0.5.12-6ubuntu5) ... 477s Setting up dash (0.5.12-9ubuntu1) ... 477s (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 ... 58436 files and directories currently installed.) 477s Preparing to unpack .../python3-minimal_3.12.4-1_armhf.deb ... 477s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 477s Setting up python3-minimal (3.12.4-1) ... 478s (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 ... 58436 files and directories currently installed.) 478s Preparing to unpack .../python3_3.12.4-1_armhf.deb ... 478s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 478s Preparing to unpack .../libpython3-stdlib_3.12.4-1_armhf.deb ... 478s Unpacking libpython3-stdlib:armhf (3.12.4-1) over (3.12.3-0ubuntu1) ... 478s Preparing to unpack .../gcc-14-base_14.1.0-5ubuntu1_armhf.deb ... 478s Unpacking gcc-14-base:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 478s Setting up gcc-14-base:armhf (14.1.0-5ubuntu1) ... 478s (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 ... 58436 files and directories currently installed.) 478s Preparing to unpack .../libstdc++6_14.1.0-5ubuntu1_armhf.deb ... 478s Unpacking libstdc++6:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 478s Setting up libstdc++6:armhf (14.1.0-5ubuntu1) ... 478s (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 ... 58436 files and directories currently installed.) 478s Preparing to unpack .../libgcc-s1_14.1.0-5ubuntu1_armhf.deb ... 478s Unpacking libgcc-s1:armhf (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 478s Setting up libgcc-s1:armhf (14.1.0-5ubuntu1) ... 479s (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 ... 58436 files and directories currently installed.) 479s Preparing to unpack .../00-krb5-locales_1.21.3-3_all.deb ... 479s Unpacking krb5-locales (1.21.3-3) over (1.20.1-6ubuntu2) ... 479s Preparing to unpack .../01-libbpf1_1%3a1.4.5-1_armhf.deb ... 479s Unpacking libbpf1:armhf (1:1.4.5-1) over (1:1.4.3-1) ... 479s Preparing to unpack .../02-libgssapi-krb5-2_1.21.3-3_armhf.deb ... 479s Unpacking libgssapi-krb5-2:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 479s Preparing to unpack .../03-libkrb5-3_1.21.3-3_armhf.deb ... 479s Unpacking libkrb5-3:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 479s Preparing to unpack .../04-libkrb5support0_1.21.3-3_armhf.deb ... 479s Unpacking libkrb5support0:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 479s Preparing to unpack .../05-libk5crypto3_1.21.3-3_armhf.deb ... 479s Unpacking libk5crypto3:armhf (1.21.3-3) over (1.20.1-6ubuntu2) ... 479s Preparing to unpack .../06-libxml2_2.12.7+dfsg-3_armhf.deb ... 479s Unpacking libxml2:armhf (2.12.7+dfsg-3) over (2.9.14+dfsg-1.3ubuntu3) ... 479s Preparing to unpack .../07-netcat-openbsd_1.226-1.1_armhf.deb ... 479s Unpacking netcat-openbsd (1.226-1.1) over (1.226-1ubuntu2) ... 479s Preparing to unpack .../08-cpio_2.15+dfsg-1ubuntu3_armhf.deb ... 479s Unpacking cpio (2.15+dfsg-1ubuntu3) over (2.15+dfsg-1ubuntu2) ... 479s Preparing to unpack .../09-python3-gdbm_3.12.4-2_armhf.deb ... 479s Unpacking python3-gdbm:armhf (3.12.4-2) over (3.12.3-0ubuntu1) ... 479s Preparing to unpack .../10-udisks2_2.10.1-9ubuntu1_armhf.deb ... 479s Unpacking udisks2 (2.10.1-9ubuntu1) over (2.10.1-9) ... 479s Preparing to unpack .../11-libudisks2-0_2.10.1-9ubuntu1_armhf.deb ... 479s Unpacking libudisks2-0:armhf (2.10.1-9ubuntu1) over (2.10.1-9) ... 480s Preparing to unpack .../12-cloud-init_24.3~1g6e4153b3-0ubuntu1_all.deb ... 480s Unpacking cloud-init (24.3~1g6e4153b3-0ubuntu1) over (24.2-0ubuntu1) ... 480s Preparing to unpack .../13-gdisk_1.0.10-2_armhf.deb ... 480s Unpacking gdisk (1.0.10-2) over (1.0.10-1build1) ... 481s Setting up cpio (2.15+dfsg-1ubuntu3) ... 481s Setting up netcat-openbsd (1.226-1.1) ... 481s Setting up krb5-locales (1.21.3-3) ... 481s Setting up libkrb5support0:armhf (1.21.3-3) ... 481s Setting up gdisk (1.0.10-2) ... 481s Setting up libk5crypto3:armhf (1.21.3-3) ... 481s Setting up libkrb5-3:armhf (1.21.3-3) ... 481s Setting up libxml2:armhf (2.12.7+dfsg-3) ... 481s Setting up libbpf1:armhf (1:1.4.5-1) ... 481s Setting up libudisks2-0:armhf (2.10.1-9ubuntu1) ... 481s Setting up libpython3-stdlib:armhf (3.12.4-1) ... 481s Setting up udisks2 (2.10.1-9ubuntu1) ... 481s vda: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/uevent': Permission denied 481s vda1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda1/uevent': Permission denied 481s vda15: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda15/uevent': Permission denied 481s vda2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda2/uevent': Permission denied 481s loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied 481s loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied 481s loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied 481s loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied 481s loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied 481s loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied 481s loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied 481s loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied 481s Setting up python3 (3.12.4-1) ... 482s Setting up libgssapi-krb5-2:armhf (1.21.3-3) ... 482s Setting up cloud-init (24.3~1g6e4153b3-0ubuntu1) ... 484s Setting up python3-gdbm:armhf (3.12.4-2) ... 484s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 484s Processing triggers for man-db (2.12.1-2) ... 485s Processing triggers for dbus (1.14.10-4ubuntu4) ... 485s Processing triggers for debianutils (5.20) ... 485s Processing triggers for libc-bin (2.39-0ubuntu9) ... 486s Reading package lists... 487s Building dependency tree... 487s Reading state information... 488s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 490s autopkgtest [20:36:02]: rebooting testbed after setup commands that affected boot 605s Reading package lists... 605s Building dependency tree... 605s Reading state information... 606s Starting pkgProblemResolver with broken count: 0 606s Starting 2 pkgProblemResolver with broken count: 0 606s Done 608s The following additional packages will be installed: 608s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 608s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 608s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 608s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 608s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 608s python3-iniconfig python3-iniparse python3-jaraco.functools 608s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 608s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 608s python3-pytest python3-rapidfuzz python3-ruamel.yaml 608s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 608s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 608s Suggested packages: 608s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 608s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 608s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 608s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 608s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 608s subversion-tools 608s Recommended packages: 608s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 608s python3-cssselect python3-html5lib python3-tz 608s The following NEW packages will be installed: 608s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 608s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 608s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 608s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 608s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 608s python3-iniconfig python3-iniparse python3-jaraco.functools 608s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 608s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 608s python3-pytest python3-rapidfuzz python3-ruamel.yaml 608s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 608s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 608s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 608s Need to get 10.5 MB/10.5 MB of archives. 608s After this operation, 39.9 MB of additional disk space will be used. 608s Get:1 /tmp/autopkgtest.M7lUan/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [892 B] 608s Get:2 http://ftpmaster.internal/ubuntu oracular/main armhf emacsen-common all 3.0.5 [12.1 kB] 608s Get:3 http://ftpmaster.internal/ubuntu oracular/main armhf dictionaries-common all 1.29.7 [188 kB] 608s Get:4 http://ftpmaster.internal/ubuntu oracular/main armhf libgomp1 armhf 14.1.0-5ubuntu1 [125 kB] 608s Get:5 http://ftpmaster.internal/ubuntu oracular/main armhf gettext armhf 0.22.5-1 [989 kB] 608s Get:6 http://ftpmaster.internal/ubuntu oracular/main armhf hunspell-en-us all 1:2020.12.07-2 [280 kB] 608s Get:7 http://ftpmaster.internal/ubuntu oracular/main armhf libapr1t64 armhf 1.7.2-3.2 [86.0 kB] 609s Get:8 http://ftpmaster.internal/ubuntu oracular/main armhf libaprutil1t64 armhf 1.6.3-2ubuntu1 [82.5 kB] 609s Get:9 http://ftpmaster.internal/ubuntu oracular/main armhf libaspell15 armhf 0.60.8.1-1build1 [307 kB] 609s Get:10 http://ftpmaster.internal/ubuntu oracular/main armhf libhunspell-1.7-0 armhf 1.7.2+really1.7.2-10build3 [307 kB] 609s Get:11 http://ftpmaster.internal/ubuntu oracular/main armhf libenchant-2-2 armhf 2.3.3-2build2 [43.4 kB] 609s Get:12 http://ftpmaster.internal/ubuntu oracular/main armhf libexttextcat-data all 3.4.7-1build1 [193 kB] 609s Get:13 http://ftpmaster.internal/ubuntu oracular/universe armhf libserf-1-1 armhf 1.3.10-3ubuntu1 [40.5 kB] 609s Get:14 http://ftpmaster.internal/ubuntu oracular/universe armhf libutf8proc3 armhf 2.9.0-1build1 [70.6 kB] 609s Get:15 http://ftpmaster.internal/ubuntu oracular/universe armhf libsvn1 armhf 1.14.3-2 [1198 kB] 609s Get:16 http://ftpmaster.internal/ubuntu oracular/universe armhf libxapian30 armhf 1.4.22-1build1 [690 kB] 609s Get:17 http://ftpmaster.internal/ubuntu oracular/main armhf libxslt1.1 armhf 1.1.39-0exp1build1 [150 kB] 609s Get:18 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-aeidon all 1.15-1 [231 kB] 609s Get:19 http://ftpmaster.internal/ubuntu oracular-proposed/main armhf python3-all armhf 3.12.4-1 [882 B] 609s Get:20 http://ftpmaster.internal/ubuntu oracular/main armhf python3-soupsieve all 2.5-1 [33.0 kB] 609s Get:21 http://ftpmaster.internal/ubuntu oracular/main armhf python3-bs4 all 4.12.3-1 [109 kB] 609s Get:22 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-charset-normalizer all 3.3.2-1 [47.9 kB] 609s Get:23 http://ftpmaster.internal/ubuntu oracular/main armhf python3-more-itertools all 10.3.0-1 [54.9 kB] 609s Get:24 http://ftpmaster.internal/ubuntu oracular/main armhf python3-jaraco.functools all 4.0.0-1 [10.7 kB] 609s Get:25 http://ftpmaster.internal/ubuntu oracular/main armhf python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 609s Get:26 http://ftpmaster.internal/ubuntu oracular/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 609s Get:27 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-diff-match-patch all 20230430-1 [33.1 kB] 609s Get:28 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-enchant all 3.2.2-1 [34.0 kB] 609s Get:29 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 609s Get:30 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-rapidfuzz armhf 3.9.4+ds-1 [1200 kB] 609s Get:31 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-levenshtein armhf 0.25.1-3 [139 kB] 609s Get:32 http://ftpmaster.internal/ubuntu oracular/main armhf python3-lxml armhf 5.2.2-1 [1199 kB] 609s Get:33 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-mistletoe all 1.3.0-1 [38.0 kB] 609s Get:34 http://ftpmaster.internal/ubuntu oracular/main armhf python3-packaging all 24.1-1 [41.4 kB] 609s Get:35 http://ftpmaster.internal/ubuntu oracular/main armhf python3-ply all 3.11-6 [46.5 kB] 609s Get:36 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-phply all 1.2.6-1 [50.5 kB] 609s Get:37 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 609s Get:38 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pytest all 7.4.4-1 [305 kB] 609s Get:39 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml.clib armhf 0.2.8-1build1 [120 kB] 609s Get:40 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 609s Get:41 http://ftpmaster.internal/ubuntu oracular/main armhf python3-simplejson armhf 3.19.2-1build2 [52.0 kB] 609s Get:42 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-syrupy all 4.6.1-1 [42.8 kB] 609s Get:43 http://ftpmaster.internal/ubuntu oracular/main armhf python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 609s Get:44 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-translate all 3.13.2-1 [319 kB] 609s Get:45 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-vobject all 0.9.6.1-2 [40.6 kB] 609s Get:46 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-xapian armhf 1.4.22-1build5 [370 kB] 609s Get:47 http://ftpmaster.internal/ubuntu oracular/universe armhf subversion armhf 1.14.3-2 [892 kB] 609s Get:48 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-iniparse all 0.5-2 [20.0 kB] 609s Get:49 http://ftpmaster.internal/ubuntu oracular/universe armhf python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 610s Preconfiguring packages ... 610s Fetched 10.5 MB in 1s (8206 kB/s) 610s Selecting previously unselected package emacsen-common. 610s (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 ... 58440 files and directories currently installed.) 610s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 610s Unpacking emacsen-common (3.0.5) ... 610s Selecting previously unselected package dictionaries-common. 610s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 610s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 610s Unpacking dictionaries-common (1.29.7) ... 610s Selecting previously unselected package libgomp1:armhf. 610s Preparing to unpack .../02-libgomp1_14.1.0-5ubuntu1_armhf.deb ... 610s Unpacking libgomp1:armhf (14.1.0-5ubuntu1) ... 610s Selecting previously unselected package gettext. 610s Preparing to unpack .../03-gettext_0.22.5-1_armhf.deb ... 610s Unpacking gettext (0.22.5-1) ... 610s Selecting previously unselected package hunspell-en-us. 610s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 610s Unpacking hunspell-en-us (1:2020.12.07-2) ... 611s Selecting previously unselected package libapr1t64:armhf. 611s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_armhf.deb ... 611s Unpacking libapr1t64:armhf (1.7.2-3.2) ... 611s Selecting previously unselected package libaprutil1t64:armhf. 611s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_armhf.deb ... 611s Unpacking libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 611s Selecting previously unselected package libaspell15:armhf. 611s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_armhf.deb ... 611s Unpacking libaspell15:armhf (0.60.8.1-1build1) ... 611s Selecting previously unselected package libhunspell-1.7-0:armhf. 611s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_armhf.deb ... 611s Unpacking libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 611s Selecting previously unselected package libenchant-2-2:armhf. 611s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_armhf.deb ... 611s Unpacking libenchant-2-2:armhf (2.3.3-2build2) ... 611s Selecting previously unselected package libexttextcat-data. 611s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 611s Unpacking libexttextcat-data (3.4.7-1build1) ... 611s Selecting previously unselected package libserf-1-1:armhf. 611s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_armhf.deb ... 611s Unpacking libserf-1-1:armhf (1.3.10-3ubuntu1) ... 611s Selecting previously unselected package libutf8proc3:armhf. 611s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_armhf.deb ... 611s Unpacking libutf8proc3:armhf (2.9.0-1build1) ... 611s Selecting previously unselected package libsvn1:armhf. 611s Preparing to unpack .../13-libsvn1_1.14.3-2_armhf.deb ... 611s Unpacking libsvn1:armhf (1.14.3-2) ... 611s Selecting previously unselected package libxapian30:armhf. 611s Preparing to unpack .../14-libxapian30_1.4.22-1build1_armhf.deb ... 611s Unpacking libxapian30:armhf (1.4.22-1build1) ... 611s Selecting previously unselected package libxslt1.1:armhf. 611s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_armhf.deb ... 611s Unpacking libxslt1.1:armhf (1.1.39-0exp1build1) ... 611s Selecting previously unselected package python3-aeidon. 611s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 611s Unpacking python3-aeidon (1.15-1) ... 611s Selecting previously unselected package python3-all. 611s Preparing to unpack .../17-python3-all_3.12.4-1_armhf.deb ... 611s Unpacking python3-all (3.12.4-1) ... 611s Selecting previously unselected package python3-soupsieve. 612s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 612s Unpacking python3-soupsieve (2.5-1) ... 612s Selecting previously unselected package python3-bs4. 612s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 612s Unpacking python3-bs4 (4.12.3-1) ... 612s Selecting previously unselected package python3-charset-normalizer. 612s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 612s Unpacking python3-charset-normalizer (3.3.2-1) ... 612s Selecting previously unselected package python3-more-itertools. 612s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 612s Unpacking python3-more-itertools (10.3.0-1) ... 612s Selecting previously unselected package python3-jaraco.functools. 612s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 612s Unpacking python3-jaraco.functools (4.0.0-1) ... 612s Selecting previously unselected package python3-cheroot. 612s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 612s Unpacking python3-cheroot (10.0.0+ds1-2) ... 612s Selecting previously unselected package python3-dateutil. 612s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 612s Unpacking python3-dateutil (2.9.0-2) ... 612s Selecting previously unselected package python3-diff-match-patch. 612s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 612s Unpacking python3-diff-match-patch (20230430-1) ... 612s Selecting previously unselected package python3-enchant. 612s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 612s Unpacking python3-enchant (3.2.2-1) ... 612s Selecting previously unselected package python3-iniconfig. 612s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 612s Unpacking python3-iniconfig (1.1.1-2) ... 612s Selecting previously unselected package python3-rapidfuzz. 612s Preparing to unpack .../28-python3-rapidfuzz_3.9.4+ds-1_armhf.deb ... 612s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 612s Selecting previously unselected package python3-levenshtein. 612s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_armhf.deb ... 612s Unpacking python3-levenshtein (0.25.1-3) ... 612s Selecting previously unselected package python3-lxml:armhf. 612s Preparing to unpack .../30-python3-lxml_5.2.2-1_armhf.deb ... 612s Unpacking python3-lxml:armhf (5.2.2-1) ... 612s Selecting previously unselected package python3-mistletoe. 612s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 612s Unpacking python3-mistletoe (1.3.0-1) ... 613s Selecting previously unselected package python3-packaging. 613s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 613s Unpacking python3-packaging (24.1-1) ... 613s Selecting previously unselected package python3-ply. 613s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 613s Unpacking python3-ply (3.11-6) ... 613s Selecting previously unselected package python3-phply. 613s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 613s Unpacking python3-phply (1.2.6-1) ... 613s Selecting previously unselected package python3-pluggy. 613s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 613s Unpacking python3-pluggy (1.5.0-1) ... 613s Selecting previously unselected package python3-pytest. 613s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 613s Unpacking python3-pytest (7.4.4-1) ... 613s Selecting previously unselected package python3-ruamel.yaml.clib:armhf. 613s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_armhf.deb ... 613s Unpacking python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 613s Selecting previously unselected package python3-ruamel.yaml. 613s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 613s Unpacking python3-ruamel.yaml (0.17.21-1) ... 613s Selecting previously unselected package python3-simplejson. 613s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_armhf.deb ... 613s Unpacking python3-simplejson (3.19.2-1build2) ... 613s Selecting previously unselected package python3-syrupy. 613s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 613s Unpacking python3-syrupy (4.6.1-1) ... 613s Selecting previously unselected package python3-wcwidth. 613s Preparing to unpack .../41-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 613s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 613s Selecting previously unselected package python3-translate. 613s Preparing to unpack .../42-python3-translate_3.13.2-1_all.deb ... 613s Unpacking python3-translate (3.13.2-1) ... 613s Selecting previously unselected package python3-vobject. 613s Preparing to unpack .../43-python3-vobject_0.9.6.1-2_all.deb ... 613s Unpacking python3-vobject (0.9.6.1-2) ... 613s Selecting previously unselected package python3-xapian. 613s Preparing to unpack .../44-python3-xapian_1.4.22-1build5_armhf.deb ... 613s Unpacking python3-xapian (1.4.22-1build5) ... 613s Selecting previously unselected package subversion. 613s Preparing to unpack .../45-subversion_1.14.3-2_armhf.deb ... 613s Unpacking subversion (1.14.3-2) ... 614s Selecting previously unselected package python3-iniparse. 614s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 614s Unpacking python3-iniparse (0.5-2) ... 614s Selecting previously unselected package python3-pycountry. 614s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 614s Unpacking python3-pycountry (24.6.1+ds1-1) ... 614s Selecting previously unselected package autopkgtest-satdep. 614s Preparing to unpack .../48-2-autopkgtest-satdep.deb ... 614s Unpacking autopkgtest-satdep (0) ... 614s Setting up python3-more-itertools (10.3.0-1) ... 614s Setting up python3-iniconfig (1.1.1-2) ... 614s Setting up libxapian30:armhf (1.4.22-1build1) ... 614s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 615s Setting up python3-diff-match-patch (20230430-1) ... 615s Setting up python3-jaraco.functools (4.0.0-1) ... 615s Setting up python3-aeidon (1.15-1) ... 615s Setting up libutf8proc3:armhf (2.9.0-1build1) ... 615s Setting up libaspell15:armhf (0.60.8.1-1build1) ... 615s Setting up python3-charset-normalizer (3.3.2-1) ... 616s Setting up python3-ply (3.11-6) ... 616s Setting up python3-ruamel.yaml.clib:armhf (0.2.8-1build1) ... 616s Setting up python3-all (3.12.4-1) ... 616s Setting up libgomp1:armhf (14.1.0-5ubuntu1) ... 616s Setting up python3-simplejson (3.19.2-1build2) ... 616s Setting up python3-packaging (24.1-1) ... 616s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 617s Setting up emacsen-common (3.0.5) ... 617s Setting up python3-cheroot (10.0.0+ds1-2) ... 617s Setting up python3-pycountry (24.6.1+ds1-1) ... 617s Setting up python3-xapian (1.4.22-1build5) ... 618s Setting up python3-pluggy (1.5.0-1) ... 618s Setting up python3-ruamel.yaml (0.17.21-1) ... 618s Setting up python3-mistletoe (1.3.0-1) ... 618s Setting up libexttextcat-data (3.4.7-1build1) ... 618s Setting up libapr1t64:armhf (1.7.2-3.2) ... 618s Setting up libxslt1.1:armhf (1.1.39-0exp1build1) ... 618s Setting up python3-dateutil (2.9.0-2) ... 619s Setting up python3-levenshtein (0.25.1-3) ... 619s Setting up libhunspell-1.7-0:armhf (1.7.2+really1.7.2-10build3) ... 619s Setting up python3-soupsieve (2.5-1) ... 619s Setting up python3-iniparse (0.5-2) ... 619s Setting up libaprutil1t64:armhf (1.6.3-2ubuntu1) ... 619s Setting up python3-vobject (0.9.6.1-2) ... 620s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 620s patterns['name'] = '[a-zA-Z0-9\-_]+' 620s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 620s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 620s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 620s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 620s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 620s """ 620s Setting up gettext (0.22.5-1) ... 620s Setting up python3-phply (1.2.6-1) ... 620s Setting up dictionaries-common (1.29.7) ... 621s Setting up python3-pytest (7.4.4-1) ... 621s Setting up python3-syrupy (4.6.1-1) ... 621s Setting up libserf-1-1:armhf (1.3.10-3ubuntu1) ... 621s Setting up python3-bs4 (4.12.3-1) ... 622s Setting up python3-lxml:armhf (5.2.2-1) ... 622s Setting up hunspell-en-us (1:2020.12.07-2) ... 622s Setting up libsvn1:armhf (1.14.3-2) ... 622s Setting up libenchant-2-2:armhf (2.3.3-2build2) ... 622s Setting up subversion (1.14.3-2) ... 622s Setting up python3-enchant (3.2.2-1) ... 622s Setting up python3-translate (3.13.2-1) ... 623s Setting up autopkgtest-satdep (0) ... 623s Processing triggers for man-db (2.12.1-2) ... 624s Processing triggers for install-info (7.1-3build2) ... 624s Processing triggers for libc-bin (2.39-0ubuntu9) ... 624s Processing triggers for dictionaries-common (1.29.7) ... 643s (Reading database ... 61941 files and directories currently installed.) 643s Removing autopkgtest-satdep (0) ... 660s autopkgtest [20:38:52]: test python3-translate: [----------------------- 663s ============================= test session starts ============================== 663s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 663s cachedir: .pytest_cache 663s rootdir: /tmp/autopkgtest.M7lUan/autopkgtest_tmp 663s plugins: syrupy-4.6.1 670s collecting ... collected 3340 items / 2 skipped 670s 670s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 670s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 670s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 670s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 670s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 670s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 670s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 670s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 671s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 671s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 671s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 671s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 671s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 671s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 671s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 671s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 671s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 671s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 671s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 671s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 671s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 671s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 671s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 671s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 671s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 671s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 671s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 671s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 671s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 671s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 671s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 671s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 671s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 672s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 672s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 672s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 672s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 672s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 672s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 672s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 672s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 673s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 673s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 673s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 673s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 673s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 673s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 673s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 673s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 673s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 673s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 673s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 673s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 673s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 673s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 674s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 674s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 674s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 674s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 674s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 674s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 674s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 674s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 674s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 674s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 674s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 674s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 674s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 674s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 674s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 674s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 674s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 674s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 674s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 674s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 675s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 675s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 675s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 675s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 675s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 675s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 675s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 675s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 675s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 675s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 675s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 675s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 675s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 675s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 675s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 675s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 675s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 675s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 675s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 675s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 675s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 675s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 675s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 675s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 676s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 676s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 676s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 676s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 676s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 676s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 676s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 676s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 676s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 676s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 676s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 676s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 676s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 676s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 676s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 676s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 676s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 676s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 676s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 676s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 676s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 676s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 676s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 676s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 676s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 676s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 676s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 676s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 676s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 676s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 676s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 676s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 676s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 676s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 676s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 676s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 676s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 676s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 676s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 676s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 676s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 676s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 676s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 676s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 676s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 676s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 676s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 676s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 676s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 676s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 676s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 676s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 676s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 676s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 676s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 676s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 676s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 676s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 676s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 676s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 676s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 676s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 676s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 676s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 676s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 676s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 676s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 677s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 677s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 677s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 677s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 677s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 677s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 677s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 677s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 677s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 677s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 677s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 677s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 677s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 677s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 678s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 678s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 678s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 678s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 678s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 678s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 678s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 678s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 678s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 678s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 678s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 678s 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%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 678s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 678s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 678s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 679s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 679s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 679s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 679s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 679s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 679s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 679s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 679s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 679s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 679s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 679s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 679s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 679s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 679s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 679s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 679s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 679s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 679s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 679s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 680s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 681s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 681s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 681s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 681s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 681s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 681s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 681s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 682s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 682s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 682s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 682s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 682s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 682s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 682s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 682s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 682s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 682s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 682s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 682s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 683s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 683s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 683s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 683s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 683s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 683s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 683s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 683s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 683s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 683s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 683s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 683s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 683s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 684s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 684s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 684s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 684s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 684s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 684s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 684s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 684s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 685s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 685s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 685s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 685s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 685s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 685s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 685s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 685s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 685s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 685s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 685s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 685s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 685s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 685s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 685s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 685s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 685s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 685s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 685s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 685s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 685s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 685s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 685s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 685s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 685s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 685s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 685s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 685s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 685s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 686s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 686s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 686s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 686s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 686s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 686s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 686s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 686s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 686s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 686s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 686s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 686s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 686s 686s =============================== warnings summary =============================== 686s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 686s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 686s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 686s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 686s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 686s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 686s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 686s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 686s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 686s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 686s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 686s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 686s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 686s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 686s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 686s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 686s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 686s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 686s Warning: Could not find accesskey for key.accesskey 686s 686s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 686s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 686s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 686s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 686s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 686s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/translate/convert/test.idml'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 686s Warning: unclosed file <_io.BufferedReader name='translation.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 686s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 686s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 686s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 686s Warning: Could not find accesskey for prop.accesskey 686s 686s tests/translate/convert/test_po2tmx.py: 26 warnings 686s tests/translate/filters/test_pofilter.py: 13 warnings 686s tests/translate/storage/test_tbx.py: 17 warnings 686s tests/translate/storage/test_tmx.py: 24 warnings 686s 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' 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 686s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 686s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 686s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 686s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 686s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 686s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 686s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 686s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 686s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 686s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 686s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/translate/convert/test.odt'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 686s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 686s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 686s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 686s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 686s Enable tracemalloc to get traceback where the object was allocated. 686s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 686s 686s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 686s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 686s 686s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 686s Warning: DTD file '' does not validate 686s 686s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 686s --------------------------- snapshot report summary ---------------------------- 686s 23 snapshots passed. 686s =========================== short test summary info ============================ 686s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 686s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 686s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 686s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 686s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 686s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 686s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 686s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 686s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 686s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 686s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 686s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 686s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 686s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 686s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 686s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 686s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 686s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 686s 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. 686s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 686s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 686s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 686s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 686s 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 686s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 686s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 686s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 686s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 686s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 686s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 686s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 686s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 686s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 686s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 686s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 686s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 686s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 686s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 686s ========= 3279 passed, 22 skipped, 41 xfailed, 126 warnings in 23.23s ========== 687s autopkgtest [20:39:19]: test python3-translate: -----------------------] 692s autopkgtest [20:39:24]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 692s python3-translate PASS 696s autopkgtest [20:39:28]: test python3-translate-commands: preparing testbed 725s Reading package lists... 725s Building dependency tree... 725s Reading state information... 726s Starting pkgProblemResolver with broken count: 0 726s Starting 2 pkgProblemResolver with broken count: 0 726s Done 728s The following additional packages will be installed: 728s translate-toolkit 728s Recommended packages: 728s translate-toolkit-doc 728s The following NEW packages will be installed: 728s autopkgtest-satdep translate-toolkit 728s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 728s Need to get 81.0 kB/81.9 kB of archives. 728s After this operation, 225 kB of additional disk space will be used. 728s Get:1 /tmp/autopkgtest.M7lUan/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [904 B] 728s Get:2 http://ftpmaster.internal/ubuntu oracular/universe armhf translate-toolkit all 3.13.2-1 [81.0 kB] 729s Fetched 81.0 kB in 0s (216 kB/s) 729s Selecting previously unselected package translate-toolkit. 729s (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 ... 61941 files and directories currently installed.) 729s Preparing to unpack .../translate-toolkit_3.13.2-1_all.deb ... 729s Unpacking translate-toolkit (3.13.2-1) ... 729s Selecting previously unselected package autopkgtest-satdep. 729s Preparing to unpack .../3-autopkgtest-satdep.deb ... 729s Unpacking autopkgtest-satdep (0) ... 730s Setting up translate-toolkit (3.13.2-1) ... 730s Setting up autopkgtest-satdep (0) ... 730s Processing triggers for man-db (2.12.1-2) ... 747s (Reading database ... 62111 files and directories currently installed.) 747s Removing autopkgtest-satdep (0) ... 753s autopkgtest [20:40:25]: test python3-translate-commands: [----------------------- 756s ============================= test session starts ============================== 756s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 756s cachedir: .pytest_cache 756s rootdir: /tmp/autopkgtest.M7lUan/autopkgtest_tmp 756s plugins: syrupy-4.6.1 764s collecting ... collected 3340 items / 2 skipped 764s 764s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 764s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 764s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 764s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 764s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 764s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 764s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 764s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 764s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 765s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 765s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 765s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 765s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 765s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 765s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 765s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 765s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 765s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 765s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 765s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 765s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 765s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 765s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 765s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 765s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 765s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 765s 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%] 767s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 767s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 767s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 767s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 767s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 767s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 767s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 767s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 767s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 767s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 767s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 767s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 767s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 767s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 767s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 767s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 768s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 768s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 768s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 768s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 768s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 768s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 768s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 768s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 768s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 768s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 768s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 768s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 768s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 768s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 768s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 768s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 768s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 769s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 769s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 769s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 769s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 769s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 769s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 769s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 769s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 769s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 769s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 769s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 769s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 769s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 769s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 769s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 769s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 769s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 769s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 769s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 769s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 769s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 769s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 770s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 770s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 770s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 770s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 770s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 770s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 770s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 770s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 770s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 770s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 770s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 770s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 770s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 770s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 770s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 770s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 771s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 771s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 771s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 771s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 771s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 771s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 771s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 771s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 771s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 771s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 771s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 771s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 771s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 771s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 771s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 771s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 771s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 771s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 771s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 771s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 771s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 771s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 771s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 771s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 771s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 771s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 771s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 771s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 771s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 771s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 771s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 771s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 771s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 771s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 771s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 771s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 771s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 771s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 771s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 771s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 771s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 771s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 771s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 771s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 771s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 771s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 771s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 771s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 771s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 771s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 771s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 771s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 771s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 771s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 771s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 771s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 771s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 771s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 772s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 772s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 772s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 772s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 772s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 772s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 772s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 772s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 772s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 772s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 772s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 772s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 772s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 772s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 772s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 772s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 772s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 772s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 772s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 772s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 772s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 773s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 773s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 773s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 773s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 773s 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%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 773s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 773s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 773s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 773s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 773s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 773s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 773s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 773s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 773s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 773s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 773s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 773s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 773s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 773s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 774s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 774s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 774s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 774s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 774s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 774s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 774s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 774s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 775s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 776s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 776s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 776s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 776s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 776s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 777s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 777s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 777s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 777s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 777s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 777s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 777s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 778s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 778s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 778s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 778s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 778s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 778s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 778s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 778s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 778s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 778s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 778s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 778s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 778s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 778s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 778s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 778s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 778s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 779s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 779s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 779s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 779s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 779s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 779s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 780s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 780s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 780s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 781s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 781s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 781s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 781s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 781s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 781s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 781s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 781s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 781s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 781s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 781s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 781s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 781s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 781s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 781s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 781s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 781s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 782s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 782s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 783s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 783s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 783s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 783s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 783s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 783s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 783s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 783s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 783s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 783s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 783s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 783s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 783s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 784s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 784s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 784s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 784s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 784s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 784s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 784s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 784s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 784s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 784s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 784s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 784s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 784s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 784s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 785s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 785s 785s =============================== warnings summary =============================== 785s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 785s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 785s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 785s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 785s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 785s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 785s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 785s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 785s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 785s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 785s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 785s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 785s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 785s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 785s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 785s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 785s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 785s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 785s Warning: Could not find accesskey for key.accesskey 785s 785s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 785s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 785s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 785s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 785s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 785s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/translate/convert/test.idml'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 785s Warning: unclosed file <_io.BufferedReader name='translation.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 785s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 785s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 785s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 785s Warning: Could not find accesskey for prop.accesskey 785s 785s tests/translate/convert/test_po2tmx.py: 26 warnings 785s tests/translate/filters/test_pofilter.py: 13 warnings 785s tests/translate/storage/test_tbx.py: 17 warnings 785s tests/translate/storage/test_tmx.py: 24 warnings 785s 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' 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 785s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 785s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 785s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 785s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 785s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 785s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 785s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 785s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 785s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 785s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 785s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.M7lUan/autopkgtest_tmp/tests/translate/convert/test.odt'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 785s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 785s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 785s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 785s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 785s Enable tracemalloc to get traceback where the object was allocated. 785s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 785s 785s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 785s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 785s 785s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 785s Warning: DTD file '' does not validate 785s 785s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 785s --------------------------- snapshot report summary ---------------------------- 785s 23 snapshots passed. 785s =========================== short test summary info ============================ 785s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 785s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 785s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 785s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 785s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 785s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 785s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 785s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 785s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 785s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 785s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 785s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 785s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 785s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 785s 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. 785s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 785s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 785s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 785s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 785s 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 785s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 785s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 785s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 785s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 785s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 785s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 785s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 785s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 785s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 785s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 785s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 785s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 785s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 785s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 785s ========== 3298 passed, 3 skipped, 41 xfailed, 126 warnings in 29.12s ========== 787s autopkgtest [20:40:59]: test python3-translate-commands: -----------------------] 791s autopkgtest [20:41:03]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 791s python3-translate-commands PASS 795s autopkgtest [20:41:07]: @@@@@@@@@@@@@@@@@@@@ summary 795s translate-toolkit PASS 795s python3-translate PASS 795s python3-translate-commands PASS