0s autopkgtest [09:54:18]: starting date and time: 2024-05-05 09:54:18+0000 0s autopkgtest [09:54:18]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [09:54:18]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.wm9h71a2/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:xapian-bindings --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=xapian-bindings/1.4.25-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos01-s390x-6.secgroup --name adt-oracular-s390x-translate-toolkit-20240505-095418-juju-7f2275-prod-proposed-migration-environment-2-691978ea-0985-4bcf-83ed-ea742ade918d --image adt/ubuntu-oracular-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/ 532s autopkgtest [10:03:10]: testbed dpkg architecture: s390x 532s autopkgtest [10:03:10]: testbed apt version: 2.7.14build2 532s autopkgtest [10:03:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup 533s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 533s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 534s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 534s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1705 kB] 537s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 537s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [185 kB] 537s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1260 B] 537s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [1287 kB] 539s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [21.7 kB] 539s Fetched 3401 kB in 7s (502 kB/s) 539s Reading package lists... 543s Reading package lists... 544s Building dependency tree... 544s Reading state information... 544s Calculating upgrade... 545s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 545s Reading package lists... 545s Building dependency tree... 545s Reading state information... 546s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 546s Get:1 http://ftpmaster.internal/ubuntu oracular InRelease [64.6 kB] 546s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 546s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 546s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 547s Get:5 http://ftpmaster.internal/ubuntu oracular/multiverse Sources [300 kB] 547s Get:6 http://ftpmaster.internal/ubuntu oracular/universe Sources [19.8 MB] 550s Get:7 http://ftpmaster.internal/ubuntu oracular/main Sources [1387 kB] 550s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x Packages [1323 kB] 550s Get:9 http://ftpmaster.internal/ubuntu oracular/universe s390x Packages [14.3 MB] 550s Get:10 http://ftpmaster.internal/ubuntu oracular/multiverse s390x Packages [168 kB] 560s Fetched 37.3 MB in 14s (2760 kB/s) 561s Reading package lists... 561s Reading package lists... 562s Building dependency tree... 562s Reading state information... 562s Calculating upgrade... 563s The following packages will be upgraded: 563s cloud-init ed hdparm hwdata libaio1t64 libdeflate0 libnfnetlink0 563s libudisks2-0 lsof lto-disabled-list pci.ids udisks2 wpasupplicant 563s 13 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 563s Need to get 3351 kB of archives. 563s After this operation, 71.7 kB disk space will be freed. 563s Get:1 http://ftpmaster.internal/ubuntu oracular/main s390x ed s390x 1.20.2-2 [57.9 kB] 563s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x hdparm s390x 9.65+ds-1.1 [99.3 kB] 563s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x libnfnetlink0 s390x 1.0.2-3 [14.8 kB] 563s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x lsof s390x 4.95.0-1.1 [248 kB] 563s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x pci.ids all 0.0~2024.04.20-1 [276 kB] 563s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hwdata all 0.380-1 [29.2 kB] 563s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libaio1t64 s390x 0.3.113-8 [7210 B] 563s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libdeflate0 s390x 1.20-1 [45.8 kB] 563s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x udisks2 s390x 2.10.1-7 [295 kB] 563s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libudisks2-0 s390x 2.10.1-7 [176 kB] 563s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x lto-disabled-list all 48 [12.3 kB] 563s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x wpasupplicant s390x 2:2.10-21.1 [1485 kB] 563s Get:13 http://ftpmaster.internal/ubuntu oracular/main s390x cloud-init all 24.2~2g51c6569f-0ubuntu1 [606 kB] 565s Preconfiguring packages ... 565s Fetched 3351 kB in 1s (4515 kB/s) 565s (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 ... 54485 files and directories currently installed.) 565s Preparing to unpack .../00-ed_1.20.2-2_s390x.deb ... 565s Unpacking ed (1.20.2-2) over (1.20.1-1) ... 565s Preparing to unpack .../01-hdparm_9.65+ds-1.1_s390x.deb ... 565s Unpacking hdparm (9.65+ds-1.1) over (9.65+ds-1build1) ... 565s dpkg: warning: unable to delete old directory '/lib/systemd/system-sleep': Directory not empty 565s dpkg: warning: unable to delete old directory '/lib/hdparm': Directory not empty 565s Preparing to unpack .../02-libnfnetlink0_1.0.2-3_s390x.deb ... 565s Unpacking libnfnetlink0:s390x (1.0.2-3) over (1.0.2-2build1) ... 565s Preparing to unpack .../03-lsof_4.95.0-1.1_s390x.deb ... 565s Unpacking lsof (4.95.0-1.1) over (4.95.0-1build3) ... 565s Preparing to unpack .../04-pci.ids_0.0~2024.04.20-1_all.deb ... 565s Unpacking pci.ids (0.0~2024.04.20-1) over (0.0~2024.03.31-1) ... 565s Preparing to unpack .../05-hwdata_0.380-1_all.deb ... 565s Unpacking hwdata (0.380-1) over (0.379-1) ... 565s Preparing to unpack .../06-libaio1t64_0.3.113-8_s390x.deb ... 565s Unpacking libaio1t64:s390x (0.3.113-8) over (0.3.113-6build1) ... 565s Preparing to unpack .../07-libdeflate0_1.20-1_s390x.deb ... 565s Unpacking libdeflate0:s390x (1.20-1) over (1.19-1build1) ... 565s Preparing to unpack .../08-udisks2_2.10.1-7_s390x.deb ... 565s Unpacking udisks2 (2.10.1-7) over (2.10.1-6build1) ... 566s Preparing to unpack .../09-libudisks2-0_2.10.1-7_s390x.deb ... 566s Unpacking libudisks2-0:s390x (2.10.1-7) over (2.10.1-6build1) ... 566s Preparing to unpack .../10-lto-disabled-list_48_all.deb ... 566s Unpacking lto-disabled-list (48) over (47) ... 566s Preparing to unpack .../11-wpasupplicant_2%3a2.10-21.1_s390x.deb ... 566s Unpacking wpasupplicant (2:2.10-21.1) over (2:2.10-21build4) ... 566s Preparing to unpack .../12-cloud-init_24.2~2g51c6569f-0ubuntu1_all.deb ... 566s Unpacking cloud-init (24.2~2g51c6569f-0ubuntu1) over (24.1.3-0ubuntu3) ... 566s Setting up lto-disabled-list (48) ... 566s Setting up pci.ids (0.0~2024.04.20-1) ... 566s Setting up cloud-init (24.2~2g51c6569f-0ubuntu1) ... 566s Installing new version of config file /etc/cloud/templates/sources.list.ubuntu.deb822.tmpl ... 569s Setting up libdeflate0:s390x (1.20-1) ... 569s Setting up hdparm (9.65+ds-1.1) ... 569s Installing new version of config file /etc/hdparm.conf ... 569s Setting up hwdata (0.380-1) ... 569s Setting up wpasupplicant (2:2.10-21.1) ... 569s Setting up ed (1.20.2-2) ... 569s Setting up lsof (4.95.0-1.1) ... 569s Setting up libaio1t64:s390x (0.3.113-8) ... 569s Setting up libnfnetlink0:s390x (1.0.2-3) ... 569s Setting up libudisks2-0:s390x (2.10.1-7) ... 569s Setting up udisks2 (2.10.1-7) ... 570s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 571s Processing triggers for man-db (2.12.0-4build2) ... 573s Processing triggers for dbus (1.14.10-4ubuntu4) ... 573s Processing triggers for install-info (7.1-3build2) ... 573s Processing triggers for libc-bin (2.39-0ubuntu8) ... 573s Reading package lists... 574s Building dependency tree... 574s Reading state information... 574s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 574s autopkgtest [10:03:52]: rebooting testbed after setup commands that affected boot 579s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 611s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 619s autopkgtest [10:04:37]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:14:26 UTC 2024 622s autopkgtest [10:04:40]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 627s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 627s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 627s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 627s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 627s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 627s gpgv: Can't check signature: No public key 627s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 627s autopkgtest [10:04:45]: testing package translate-toolkit version 3.12.2-1ubuntu1 628s autopkgtest [10:04:46]: build not needed 629s autopkgtest [10:04:47]: test translate-toolkit: preparing testbed 630s Reading package lists... 631s Building dependency tree... 631s Reading state information... 631s Starting pkgProblemResolver with broken count: 0 631s Starting 2 pkgProblemResolver with broken count: 0 631s Done 632s The following additional packages will be installed: 632s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 632s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 632s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 632s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 632s python3-diff-match-patch python3-enchant python3-iniparse 632s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 632s python3-phply python3-ply python3-pycountry python3-rapidfuzz 632s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 632s python3-soupsieve python3-translate python3-vobject python3-xapian 632s subversion translate-toolkit 632s Suggested packages: 632s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 632s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 632s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 632s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 632s libapache2-mod-svn subversion-tools 632s Recommended packages: 632s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 632s python3-cssselect python3-html5lib translate-toolkit-doc 632s The following NEW packages will be installed: 632s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 632s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 632s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 632s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 632s python3-diff-match-patch python3-enchant python3-iniparse 632s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 632s python3-phply python3-ply python3-pycountry python3-rapidfuzz 632s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 632s python3-soupsieve python3-translate python3-vobject python3-xapian 632s subversion translate-toolkit 632s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 632s Need to get 10.9 MB/10.9 MB of archives. 632s After this operation, 47.4 MB of additional disk space will be used. 632s Get:1 /tmp/autopkgtest.5bLzjc/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [872 B] 633s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 633s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 633s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14-20240412-0ubuntu1 [151 kB] 633s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.21-14ubuntu2 [915 kB] 633s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 633s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.1build2 [115 kB] 633s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-1.1ubuntu7 [99.6 kB] 633s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 633s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 633s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 633s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 633s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-1build2 [50.7 kB] 633s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 633s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-1build4 [1391 kB] 633s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 633s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 633s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.11-2 [221 kB] 633s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 633s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 633s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 633s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 633s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 633s Get:24 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 633s Get:25 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 633s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-1 [1498 kB] 633s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-2 [188 kB] 633s Get:28 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.1-1 [1300 kB] 634s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 634s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 634s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 634s Get:32 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 634s Get:33 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 634s Get:34 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 634s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.12.2-1ubuntu1 [318 kB] 634s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 634s Get:37 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-xapian s390x 1.4.25-1 [428 kB] 634s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-1build4 [912 kB] 634s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 634s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 634s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 634s Preconfiguring packages ... 634s Fetched 10.9 MB in 1s (8139 kB/s) 634s Selecting previously unselected package emacsen-common. 635s (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 ... 54491 files and directories currently installed.) 635s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 635s Unpacking emacsen-common (3.0.5) ... 635s Selecting previously unselected package dictionaries-common. 635s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 635s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 635s Unpacking dictionaries-common (1.29.7) ... 635s Selecting previously unselected package libgomp1:s390x. 635s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_s390x.deb ... 635s Unpacking libgomp1:s390x (14-20240412-0ubuntu1) ... 635s Selecting previously unselected package gettext. 635s Preparing to unpack .../03-gettext_0.21-14ubuntu2_s390x.deb ... 635s Unpacking gettext (0.21-14ubuntu2) ... 635s Selecting previously unselected package hunspell-en-us. 635s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 635s Unpacking hunspell-en-us (1:2020.12.07-2) ... 635s Selecting previously unselected package libapr1t64:s390x. 635s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_s390x.deb ... 635s Unpacking libapr1t64:s390x (1.7.2-3.1build2) ... 635s Selecting previously unselected package libaprutil1t64:s390x. 635s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_s390x.deb ... 635s Unpacking libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 635s Selecting previously unselected package libaspell15:s390x. 635s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 635s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 635s Selecting previously unselected package libhunspell-1.7-0:s390x. 635s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 635s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 635s Selecting previously unselected package libenchant-2-2:s390x. 635s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 635s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 635s Selecting previously unselected package libexttextcat-data. 635s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 635s Unpacking libexttextcat-data (3.4.7-1build1) ... 635s Selecting previously unselected package libserf-1-1:s390x. 635s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_s390x.deb ... 635s Unpacking libserf-1-1:s390x (1.3.10-1build2) ... 635s Selecting previously unselected package libutf8proc3:s390x. 635s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 635s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 635s Selecting previously unselected package libsvn1:s390x. 635s Preparing to unpack .../13-libsvn1_1.14.3-1build4_s390x.deb ... 635s Unpacking libsvn1:s390x (1.14.3-1build4) ... 635s Selecting previously unselected package libxapian30:s390x. 635s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 635s Unpacking libxapian30:s390x (1.4.22-1build1) ... 635s Selecting previously unselected package libxslt1.1:s390x. 635s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 635s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 635s Selecting previously unselected package python3-aeidon. 635s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 635s Unpacking python3-aeidon (1.11-2) ... 635s Selecting previously unselected package python3-soupsieve. 635s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 635s Unpacking python3-soupsieve (2.5-1) ... 635s Selecting previously unselected package python3-bs4. 635s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 635s Unpacking python3-bs4 (4.12.3-1) ... 635s Selecting previously unselected package python3-jaraco.functools. 635s Preparing to unpack .../19-python3-jaraco.functools_4.0.0-1_all.deb ... 635s Unpacking python3-jaraco.functools (4.0.0-1) ... 635s Selecting previously unselected package python3-cheroot. 635s Preparing to unpack .../20-python3-cheroot_10.0.0+ds1-2_all.deb ... 635s Unpacking python3-cheroot (10.0.0+ds1-2) ... 635s Selecting previously unselected package python3-dateutil. 635s Preparing to unpack .../21-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 635s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 635s Selecting previously unselected package python3-diff-match-patch. 635s Preparing to unpack .../22-python3-diff-match-patch_20230430-1_all.deb ... 635s Unpacking python3-diff-match-patch (20230430-1) ... 635s Selecting previously unselected package python3-enchant. 635s Preparing to unpack .../23-python3-enchant_3.2.2-1_all.deb ... 635s Unpacking python3-enchant (3.2.2-1) ... 635s Selecting previously unselected package python3-rapidfuzz. 635s Preparing to unpack .../24-python3-rapidfuzz_3.6.2+ds-1_s390x.deb ... 635s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 635s Selecting previously unselected package python3-levenshtein. 635s Preparing to unpack .../25-python3-levenshtein_0.25.1-2_s390x.deb ... 635s Unpacking python3-levenshtein (0.25.1-2) ... 635s Selecting previously unselected package python3-lxml:s390x. 635s Preparing to unpack .../26-python3-lxml_5.2.1-1_s390x.deb ... 635s Unpacking python3-lxml:s390x (5.2.1-1) ... 636s Selecting previously unselected package python3-mistletoe. 636s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 636s Unpacking python3-mistletoe (1.3.0-1) ... 636s Selecting previously unselected package python3-ply. 636s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 636s Unpacking python3-ply (3.11-6) ... 636s Selecting previously unselected package python3-phply. 636s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 636s Unpacking python3-phply (1.2.6-1) ... 636s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 636s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 636s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 636s Selecting previously unselected package python3-ruamel.yaml. 636s Preparing to unpack .../31-python3-ruamel.yaml_0.17.21-1_all.deb ... 636s Unpacking python3-ruamel.yaml (0.17.21-1) ... 636s Selecting previously unselected package python3-simplejson. 636s Preparing to unpack .../32-python3-simplejson_3.19.2-1build2_s390x.deb ... 636s Unpacking python3-simplejson (3.19.2-1build2) ... 636s Selecting previously unselected package python3-translate. 636s Preparing to unpack .../33-python3-translate_3.12.2-1ubuntu1_all.deb ... 636s Unpacking python3-translate (3.12.2-1ubuntu1) ... 636s Selecting previously unselected package python3-vobject. 636s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 636s Unpacking python3-vobject (0.9.6.1-2) ... 636s Selecting previously unselected package python3-xapian. 636s Preparing to unpack .../35-python3-xapian_1.4.25-1_s390x.deb ... 636s Unpacking python3-xapian (1.4.25-1) ... 636s Selecting previously unselected package subversion. 636s Preparing to unpack .../36-subversion_1.14.3-1build4_s390x.deb ... 636s Unpacking subversion (1.14.3-1build4) ... 636s Selecting previously unselected package translate-toolkit. 636s Preparing to unpack .../37-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 636s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 636s Selecting previously unselected package python3-iniparse. 636s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 636s Unpacking python3-iniparse (0.5-2) ... 636s Selecting previously unselected package python3-pycountry. 636s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 636s Unpacking python3-pycountry (23.12.11+ds1-2) ... 636s Selecting previously unselected package autopkgtest-satdep. 636s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 636s Unpacking autopkgtest-satdep (0) ... 636s Setting up libxapian30:s390x (1.4.22-1build1) ... 636s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 636s Setting up python3-diff-match-patch (20230430-1) ... 637s Setting up python3-jaraco.functools (4.0.0-1) ... 637s Setting up python3-aeidon (1.11-2) ... 637s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 637s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 637s Setting up python3-ply (3.11-6) ... 637s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 637s Setting up libgomp1:s390x (14-20240412-0ubuntu1) ... 637s Setting up python3-simplejson (3.19.2-1build2) ... 638s Setting up emacsen-common (3.0.5) ... 638s Setting up python3-cheroot (10.0.0+ds1-2) ... 638s Setting up python3-pycountry (23.12.11+ds1-2) ... 638s Setting up python3-xapian (1.4.25-1) ... 638s Setting up python3-ruamel.yaml (0.17.21-1) ... 639s Setting up python3-mistletoe (1.3.0-1) ... 639s Setting up libexttextcat-data (3.4.7-1build1) ... 639s Setting up libapr1t64:s390x (1.7.2-3.1build2) ... 639s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 639s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 639s Setting up python3-levenshtein (0.25.1-2) ... 640s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 640s Setting up python3-soupsieve (2.5-1) ... 640s Setting up python3-iniparse (0.5-2) ... 640s Setting up libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 640s Setting up python3-vobject (0.9.6.1-2) ... 640s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 640s patterns['name'] = '[a-zA-Z0-9\-_]+' 640s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 640s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 640s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 640s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 640s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 640s """ 640s Setting up gettext (0.21-14ubuntu2) ... 640s Setting up python3-phply (1.2.6-1) ... 641s Setting up dictionaries-common (1.29.7) ... 641s Setting up libserf-1-1:s390x (1.3.10-1build2) ... 641s Setting up python3-bs4 (4.12.3-1) ... 642s Setting up python3-lxml:s390x (5.2.1-1) ... 642s Setting up hunspell-en-us (1:2020.12.07-2) ... 642s Setting up libsvn1:s390x (1.14.3-1build4) ... 642s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 642s Setting up subversion (1.14.3-1build4) ... 642s Setting up python3-enchant (3.2.2-1) ... 643s Setting up python3-translate (3.12.2-1ubuntu1) ... 644s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 644s Setting up autopkgtest-satdep (0) ... 644s Processing triggers for man-db (2.12.0-4build2) ... 645s Processing triggers for install-info (7.1-3build2) ... 645s Processing triggers for libc-bin (2.39-0ubuntu8) ... 645s Processing triggers for dictionaries-common (1.29.7) ... 651s (Reading database ... 57906 files and directories currently installed.) 651s Removing autopkgtest-satdep (0) ... 652s autopkgtest [10:05:10]: test translate-toolkit: [----------------------- 652s ========= SMOKE TEST: /usr/bin/android2po =========== 652s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 652s 652s Convert Android string files to Gettext PO localization files. See: 652s http://docs.translatehouse.org/projects/translate- 652s toolkit/en/latest/commands/android2po.html for examples and usage 652s instructions. 652s 652s Options: 652s --version show program's version number and exit 652s -h, --help show this help message and exit 652s --manpage output a manpage based on the help 652s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 652s --errorlevel=ERRORLEVEL 652s show errorlevel as: none, message, exception, 652s traceback 652s -i INPUT, --input=INPUT 652s read from INPUT in xml format 652s -x EXCLUDE, --exclude=EXCLUDE 652s exclude names matching EXCLUDE from input paths 652s -o OUTPUT, --output=OUTPUT 652s write to OUTPUT in po, pot formats 652s -t TEMPLATE, --template=TEMPLATE 652s read from TEMPLATE in xml format 652s -S, --timestamp skip conversion if the output file has newer timestamp 652s --duplicates=DUPLICATESTYLE 652s what to do with duplicate strings (identical source 652s text): merge, msgctxt (default: 'msgctxt') 652s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 652s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 652s input files [input files ...] 652s 652s positional arguments: 652s input files 652s 652s options: 652s -h, --help show this help message and exit 652s -d TMDB_FILE, --tmdb TMDB_FILE 652s translation memory database file (default: tm.db) 652s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 652s source language of translation files (default: en) 652s -t TARGET_LANG, --import-target-lang TARGET_LANG 652s target language of translation files 652s ========= SMOKE TEST: /usr/bin/buildxpi =========== 652s usage: Usage: buildxpi.py [] [ ...] 652s 652s positional arguments: 652s langs 652s 652s options: 652s -h, --help show this help message and exit 652s -L L10NBASE, --l10n-base L10NBASE 652s The directory containing the subdirectory. 652s -o OUTPUTDIR, --output-dir OUTPUTDIR 652s The directory to copy the built XPI to (default: 652s current directory). 652s -p MOZPRODUCT, --mozproduct MOZPRODUCT 652s The Mozilla product name (default: "browser"). 652s -s SRCDIR, --src SRCDIR 652s The directory containing the Mozilla l10n sources. 652s -d, --delete-dest Delete output XPI if it already exists. 652s -v, --verbose Be more noisy 652s --soft-max-version Override a fixed max version with one to cover the 652s whole cycle e.g. 24.0a1 becomes 24.0.* 652s ========= SMOKE TEST: /usr/bin/csv2po =========== 652s 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] 652s 652s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 652s See: http://docs.translatehouse.org/projects/translate- 652s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 652s 652s Options: 652s --version show program's version number and exit 652s -h, --help show this help message and exit 652s --manpage output a manpage based on the help 652s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 652s --errorlevel=ERRORLEVEL 652s show errorlevel as: none, message, exception, 652s traceback 652s -i INPUT, --input=INPUT 652s read from INPUT in csv format 652s -x EXCLUDE, --exclude=EXCLUDE 652s exclude names matching EXCLUDE from input paths 652s -o OUTPUT, --output=OUTPUT 652s write to OUTPUT in po, pot formats 652s -t TEMPLATE, --template=TEMPLATE 652s read from TEMPLATE in po, pot, pot formats 652s -S, --timestamp skip conversion if the output file has newer timestamp 652s -P, --pot output PO Templates (.pot) rather than PO files (.po) 652s --charset=CHARSET set charset to decode from csv files 652s --columnorder=COLUMNORDER 652s specify the order and position of columns 652s (location,source,target) 652s --duplicates=DUPLICATESTYLE 652s what to do with duplicate strings (identical source 652s text): merge, msgctxt (default: 'msgctxt') 652s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 652s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 652s 652s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 652s glossary file. See: http://docs.translatehouse.org/projects/translate- 652s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 652s 652s Options: 652s --version show program's version number and exit 652s -h, --help show this help message and exit 652s --manpage output a manpage based on the help 652s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 652s --errorlevel=ERRORLEVEL 652s show errorlevel as: none, message, exception, 652s traceback 652s -i INPUT, --input=INPUT 652s read from INPUT in csv format 652s -x EXCLUDE, --exclude=EXCLUDE 652s exclude names matching EXCLUDE from input paths 652s -o OUTPUT, --output=OUTPUT 652s write to OUTPUT in tbx format 652s -S, --timestamp skip conversion if the output file has newer timestamp 652s --charset=CHARSET set charset to decode from csv files 652s --columnorder=COLUMNORDER 652s specify the order and position of columns 652s (comment,source,target) 653s ========= SMOKE TEST: /usr/bin/dtd2po =========== 653s 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] 653s 653s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 653s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 653s this module You can convert back to .dtd using po2dtd.py. 653s 653s Options: 653s --version show program's version number and exit 653s -h, --help show this help message and exit 653s --manpage output a manpage based on the help 653s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 653s --errorlevel=ERRORLEVEL 653s show errorlevel as: none, message, exception, 653s traceback 653s -i INPUT, --input=INPUT 653s read from INPUT in dtd format 653s -x EXCLUDE, --exclude=EXCLUDE 653s exclude names matching EXCLUDE from input paths 653s -o OUTPUT, --output=OUTPUT 653s write to OUTPUT in po, pot formats 653s -t TEMPLATE, --template=TEMPLATE 653s read from TEMPLATE in dtd format 653s -S, --timestamp skip conversion if the output file has newer timestamp 653s -P, --pot output PO Templates (.pot) rather than PO files (.po) 653s --duplicates=DUPLICATESTYLE 653s what to do with duplicate strings (identical source 653s text): merge, msgctxt (default: 'msgctxt') 653s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 653s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 653s 653s Convert flat XML files to Gettext PO localization files. See: 653s http://docs.translatehouse.org/projects/translate- 653s toolkit/en/latest/commands/flatxml2po.html for examples and usage 653s instructions. 653s 653s Options: 653s --version show program's version number and exit 653s -h, --help show this help message and exit 653s --manpage output a manpage based on the help 653s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 653s --errorlevel=ERRORLEVEL 653s show errorlevel as: none, message, exception, 653s traceback 653s -i INPUT, --input=INPUT 653s read from INPUT in xml format 653s -x EXCLUDE, --exclude=EXCLUDE 653s exclude names matching EXCLUDE from input paths 653s -o OUTPUT, --output=OUTPUT 653s write to OUTPUT in po, pot formats 653s -S, --timestamp skip conversion if the output file has newer timestamp 653s -r ROOT, --root=ROOT name of the XML root element (default: "root") 653s -v VALUE, --value=VALUE 653s name of the XML value element (default: "str") 653s -k KEY, --key=KEY name of the XML key attribute (default: "key") 653s -n NS, --namespace=NS 653s XML namespace uri (default: None) 653s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 653s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 653s [--delete-dest] [-v] 653s 653s options: 653s -h, --help show this help message and exit 653s -s SRCDIR, --src SRCDIR 653s The directory containing the Mozilla l10n sources. 653s -d DESTDIR, --dest DESTDIR 653s The destination directory to copy the en-US locale 653s files to. 653s -p MOZPRODUCT, --mozproduct MOZPRODUCT 653s The Mozilla product name. 653s --delete-dest Delete the destination directory (if it exists). 653s -v, --verbose Be more noisy 653s ========= SMOKE TEST: /usr/bin/html2po =========== 653s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 653s 653s Convert HTML files to Gettext PO localization files. See: 653s http://docs.translatehouse.org/projects/translate- 653s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 653s 653s Options: 653s --version show program's version number and exit 653s -h, --help show this help message and exit 653s --manpage output a manpage based on the help 653s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 653s --errorlevel=ERRORLEVEL 653s show errorlevel as: none, message, exception, 653s traceback 653s -i INPUT, --input=INPUT 653s read from INPUT in htm, html, xhtml formats 653s -x EXCLUDE, --exclude=EXCLUDE 653s exclude names matching EXCLUDE from input paths 653s -o OUTPUT, --output=OUTPUT 653s write to OUTPUT in po, pot formats 653s -S, --timestamp skip conversion if the output file has newer timestamp 653s -P, --pot output PO Templates (.pot) rather than PO files (.po) 653s --keepcomments preserve html comments as translation notes in the 653s output 653s --duplicates=DUPLICATESTYLE 653s what to do with duplicate strings (identical source 653s text): merge, msgctxt (default: 'msgctxt') 653s --multifile=MULTIFILESTYLE 653s how to split po/pot files (single, toplevel or 653s onefile) 653s ========= SMOKE TEST: /usr/bin/ical2po =========== 654s 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] 654s 654s Convert iCalendar files to Gettext PO localization files. See: 654s http://docs.translatehouse.org/projects/translate- 654s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 654s 654s Options: 654s --version show program's version number and exit 654s -h, --help show this help message and exit 654s --manpage output a manpage based on the help 654s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 654s --errorlevel=ERRORLEVEL 654s show errorlevel as: none, message, exception, 654s traceback 654s -i INPUT, --input=INPUT 654s read from INPUT in ics format 654s -x EXCLUDE, --exclude=EXCLUDE 654s exclude names matching EXCLUDE from input paths 654s -o OUTPUT, --output=OUTPUT 654s write to OUTPUT in po, pot formats 654s -t TEMPLATE, --template=TEMPLATE 654s read from TEMPLATE in ics format 654s -S, --timestamp skip conversion if the output file has newer timestamp 654s -P, --pot output PO Templates (.pot) rather than PO files (.po) 654s --duplicates=DUPLICATESTYLE 654s what to do with duplicate strings (identical source 654s text): merge, msgctxt (default: 'msgctxt') 654s ========= SMOKE TEST: /usr/bin/idml2po =========== 654s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 654s 654s Convert IDML files to PO localization files. 654s 654s Options: 654s --version show program's version number and exit 654s -h, --help show this help message and exit 654s --manpage output a manpage based on the help 654s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 654s --errorlevel=ERRORLEVEL 654s show errorlevel as: none, message, exception, 654s traceback 654s -i INPUT, --input=INPUT 654s read from INPUT in idml format 654s -x EXCLUDE, --exclude=EXCLUDE 654s exclude names matching EXCLUDE from input paths 654s -o OUTPUT, --output=OUTPUT 654s write to OUTPUT in po, pot formats 654s -S, --timestamp skip conversion if the output file has newer timestamp 654s ========= SMOKE TEST: /usr/bin/ini2po =========== 654s 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] 654s 654s Convert .ini files to Gettext PO localization files. See: 654s http://docs.translatehouse.org/projects/translate- 654s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 654s 654s Options: 654s --version show program's version number and exit 654s -h, --help show this help message and exit 654s --manpage output a manpage based on the help 654s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 654s --errorlevel=ERRORLEVEL 654s show errorlevel as: none, message, exception, 654s traceback 654s -i INPUT, --input=INPUT 654s read from INPUT in ini, isl, iss formats 654s -x EXCLUDE, --exclude=EXCLUDE 654s exclude names matching EXCLUDE from input paths 654s -o OUTPUT, --output=OUTPUT 654s write to OUTPUT in po, pot formats 654s -t TEMPLATE, --template=TEMPLATE 654s read from TEMPLATE in ini, isl, iss formats 654s -S, --timestamp skip conversion if the output file has newer timestamp 654s -P, --pot output PO Templates (.pot) rather than PO files (.po) 654s --duplicates=DUPLICATESTYLE 654s what to do with duplicate strings (identical source 654s text): merge, msgctxt (default: 'msgctxt') 654s ========= SMOKE TEST: /usr/bin/json2po =========== 654s 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] 654s 654s Convert JSON files to Gettext PO localization files. See: 654s http://docs.translatehouse.org/projects/translate- 654s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 654s 654s Options: 654s --version show program's version number and exit 654s -h, --help show this help message and exit 654s --manpage output a manpage based on the help 654s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 654s --errorlevel=ERRORLEVEL 654s show errorlevel as: none, message, exception, 654s traceback 654s -i INPUT, --input=INPUT 654s read from INPUT in json format 654s -x EXCLUDE, --exclude=EXCLUDE 654s exclude names matching EXCLUDE from input paths 654s -o OUTPUT, --output=OUTPUT 654s write to OUTPUT in po, pot formats 654s -t TEMPLATE, --template=TEMPLATE 654s read from TEMPLATE in json format 654s -S, --timestamp skip conversion if the output file has newer timestamp 654s -P, --pot output PO Templates (.pot) rather than PO files (.po) 654s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 654s everything) 654s --duplicates=DUPLICATESTYLE 654s what to do with duplicate strings (identical source 654s text): merge, msgctxt (default: 'msgctxt') 654s ========= SMOKE TEST: /usr/bin/md2po =========== 655s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 655s 655s Convert Markdown files to Gettext PO localization files. See: 655s http://docs.translatehouse.org/projects/translate- 655s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 655s 655s Options: 655s --version show program's version number and exit 655s -h, --help show this help message and exit 655s --manpage output a manpage based on the help 655s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 655s --errorlevel=ERRORLEVEL 655s show errorlevel as: none, message, exception, 655s traceback 655s -i INPUT, --input=INPUT 655s read from INPUT in markdown, md, text, txt formats 655s -x EXCLUDE, --exclude=EXCLUDE 655s exclude names matching EXCLUDE from input paths 655s -o OUTPUT, --output=OUTPUT 655s write to OUTPUT in po, pot formats 655s -S, --timestamp skip conversion if the output file has newer timestamp 655s -P, --pot output PO Templates (.pot) rather than PO files (.po) 655s --duplicates=DUPLICATESTYLE 655s what to do with duplicate strings (identical source 655s text): merge, msgctxt (default: 'msgctxt') 655s --multifile=MULTIFILESTYLE 655s how to split po/pot files (single, toplevel or 655s onefile) 655s ========= SMOKE TEST: /usr/bin/moz2po =========== 655s 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] 655s 655s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 655s See: http://docs.translatehouse.org/projects/translate- 655s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 655s 655s Options: 655s --version show program's version number and exit 655s -h, --help show this help message and exit 655s --manpage output a manpage based on the help 655s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 655s --errorlevel=ERRORLEVEL 655s show errorlevel as: none, message, exception, 655s traceback 655s -i INPUT, --input=INPUT 655s read from INPUT in *, dtd, inc, ini, it, js, lang, 655s manifest, properties, rdf formats 655s -x EXCLUDE, --exclude=EXCLUDE 655s exclude names matching EXCLUDE from input paths 655s -o OUTPUT, --output=OUTPUT 655s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 655s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 655s lang.pot, manifest, properties.po, properties.pot, rdf 655s formats 655s -t TEMPLATE, --template=TEMPLATE 655s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 655s manifest, properties, rdf formats 655s -S, --timestamp skip conversion if the output file has newer timestamp 655s -P, --pot output PO Templates (.pot) rather than PO files (.po) 655s --duplicates=DUPLICATESTYLE 655s what to do with duplicate strings (identical source 655s text): merge, msgctxt (default: 'msgctxt') 655s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 655s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 655s 655s Convert Mozilla .lang files to Gettext PO localization files. 655s 655s Options: 655s --version show program's version number and exit 655s -h, --help show this help message and exit 655s --manpage output a manpage based on the help 655s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 655s --errorlevel=ERRORLEVEL 655s show errorlevel as: none, message, exception, 655s traceback 655s -i INPUT, --input=INPUT 655s read from INPUT in lang format 655s -x EXCLUDE, --exclude=EXCLUDE 655s exclude names matching EXCLUDE from input paths 655s -o OUTPUT, --output=OUTPUT 655s write to OUTPUT in po, pot formats 655s -S, --timestamp skip conversion if the output file has newer timestamp 655s -P, --pot output PO Templates (.pot) rather than PO files (.po) 655s --encoding=ENCODING The encoding of the input file (default: UTF-8) 655s --duplicates=DUPLICATESTYLE 655s what to do with duplicate strings (identical source 655s text): merge, msgctxt (default: 'msgctxt') 655s ========= SMOKE TEST: /usr/bin/msghack =========== 655s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 655s This program can be used to alter .po files in ways no sane mind would think about. 655s -o result will be written to FILE 655s --invert invert a po file by switching msgid and msgstr 655s --master join any number of files in a master-formatted catalog 655s --empty empty the contents of the .po file, creating a .pot 655s --append append entries from ref.po that don't exist in file.po 655s 655s Note: It is just a replacement of msghack for backward support. 655s 656s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 656s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 656s 656s Convert OpenDocument (ODF) files to XLIFF localization files. See: 656s http://docs.translatehouse.org/projects/translate- 656s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 656s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 656s formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in xlf, xliff formats 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s ========= SMOKE TEST: /usr/bin/oo2po =========== 656s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 656s 656s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 656s files. See: http://docs.translatehouse.org/projects/translate- 656s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in oo, sdf formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in po, pot formats 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s -P, --pot output PO Templates (.pot) rather than PO files (.po) 656s -l LANG, --language=LANG 656s set target language to extract from oo file (e.g. af- 656s ZA) 656s --source-language=LANG 656s set source language code (default en-US) 656s --nonrecursiveinput don't treat the input oo as a recursive store 656s --duplicates=DUPLICATESTYLE 656s what to do with duplicate strings (identical source 656s text): merge, msgctxt (default: 'msgctxt') 656s --multifile=MULTIFILESTYLE 656s how to split po/pot files (single, toplevel or 656s onefile) 656s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 656s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 656s 656s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 656s files. See: http://docs.translatehouse.org/projects/translate- 656s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in oo, sdf formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in xlf, xliff formats 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s -l LANG, --language=LANG 656s set target language to extract from oo file (e.g. af- 656s ZA) 656s --source-language=LANG 656s set source language code (default en-US) 656s --nonrecursiveinput don't treat the input oo as a recursive store 656s --duplicates=DUPLICATESTYLE 656s what to do with duplicate strings (identical source 656s text): merge, msgctxt (default: 'msgctxt') 656s --multifile=MULTIFILESTYLE 656s how to split po/pot files (single, toplevel or 656s onefile) 656s ========= SMOKE TEST: /usr/bin/php2po =========== 656s 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] 656s 656s Convert PHP localization files to Gettext PO localization files. See: 656s http://docs.translatehouse.org/projects/translate- 656s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in html, php formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in po, pot formats 656s -t TEMPLATE, --template=TEMPLATE 656s read from TEMPLATE in html, php formats 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s -P, --pot output PO Templates (.pot) rather than PO files (.po) 656s --duplicates=DUPLICATESTYLE 656s what to do with duplicate strings (identical source 656s text): merge, msgctxt (default: 'msgctxt') 656s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 656s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 656s 656s Convert PHP format .po files to Python format .po files. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in po, pot formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in po, pot formats 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s ========= SMOKE TEST: /usr/bin/po2csv =========== 656s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 656s 656s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 656s See: http://docs.translatehouse.org/projects/translate- 656s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 656s 656s Options: 656s --version show program's version number and exit 656s -h, --help show this help message and exit 656s --manpage output a manpage based on the help 656s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 656s --errorlevel=ERRORLEVEL 656s show errorlevel as: none, message, exception, 656s traceback 656s -i INPUT, --input=INPUT 656s read from INPUT in po, pot formats 656s -x EXCLUDE, --exclude=EXCLUDE 656s exclude names matching EXCLUDE from input paths 656s -o OUTPUT, --output=OUTPUT 656s write to OUTPUT in csv format 656s -S, --timestamp skip conversion if the output file has newer timestamp 656s --columnorder=COLUMNORDER 656s specify the order and position of columns 656s (location,source,target) 657s ========= SMOKE TEST: /usr/bin/po2dtd =========== 657s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 657s 657s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 657s Conversion is either done using a template plus PO file or just using the 657s .po file. 657s 657s Options: 657s --version show program's version number and exit 657s -h, --help show this help message and exit 657s --manpage output a manpage based on the help 657s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 657s --errorlevel=ERRORLEVEL 657s show errorlevel as: none, message, exception, 657s traceback 657s -i INPUT, --input=INPUT 657s read from INPUT in po, pot formats 657s -x EXCLUDE, --exclude=EXCLUDE 657s exclude names matching EXCLUDE from input paths 657s -o OUTPUT, --output=OUTPUT 657s write to OUTPUT in dtd format 657s -t TEMPLATE, --template=TEMPLATE 657s read from TEMPLATE in dtd format 657s -S, --timestamp skip conversion if the output file has newer timestamp 657s --threshold=PERCENT only convert files where the translation completion is 657s above PERCENT 657s --fuzzy use translations marked fuzzy 657s --nofuzzy don't use translations marked fuzzy (default) 657s --removeuntranslated remove untranslated strings from output 657s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 657s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 657s 657s Convert Gettext PO localization files to flat XML files. See: 657s http://docs.translatehouse.org/projects/translate- 657s toolkit/en/latest/commands/flatxml2po.html for examples and usage 657s instructions. 657s 657s Options: 657s --version show program's version number and exit 657s -h, --help show this help message and exit 657s --manpage output a manpage based on the help 657s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 657s --errorlevel=ERRORLEVEL 657s show errorlevel as: none, message, exception, 657s traceback 657s -i INPUT, --input=INPUT 657s read from INPUT in po, pot formats 657s -x EXCLUDE, --exclude=EXCLUDE 657s exclude names matching EXCLUDE from input paths 657s -o OUTPUT, --output=OUTPUT 657s write to OUTPUT in xml format 657s -t TEMPLATE, --template=TEMPLATE 657s read from TEMPLATE in xml format 657s -S, --timestamp skip conversion if the output file has newer timestamp 657s -r ROOT, --root=ROOT name of the XML root element (default: "root") 657s -v VALUE, --value=VALUE 657s name of the XML value element (default: "str") 657s -k KEY, --key=KEY name of the XML key attribute (default: "key") 657s -n NS, --namespace=NS 657s XML namespace uri (default: None) 657s -w INDENT, --indent=INDENT 657s indent width in spaces, 0 for no indent (default: 2) 657s ========= SMOKE TEST: /usr/bin/po2html =========== 657s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 657s 657s Translate HTML files using Gettext PO localization files. See: 657s http://docs.translatehouse.org/projects/translate- 657s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 657s 657s Options: 657s --version show program's version number and exit 657s -h, --help show this help message and exit 657s --manpage output a manpage based on the help 657s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 657s --errorlevel=ERRORLEVEL 657s show errorlevel as: none, message, exception, 657s traceback 657s -i INPUT, --input=INPUT 657s read from INPUT in po, pot formats 657s -x EXCLUDE, --exclude=EXCLUDE 657s exclude names matching EXCLUDE from input paths 657s -o OUTPUT, --output=OUTPUT 657s write to OUTPUT in htm, html, xhtml formats 657s -t TEMPLATE, --template=TEMPLATE 657s read from TEMPLATE in htm, html, xhtml formats 657s -S, --timestamp skip conversion if the output file has newer timestamp 657s --threshold=PERCENT only convert files where the translation completion is 657s above PERCENT 657s --fuzzy use translations marked fuzzy 657s --nofuzzy don't use translations marked fuzzy (default) 657s ========= SMOKE TEST: /usr/bin/po2ical =========== 657s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 657s 657s Convert Gettext PO localization files to iCalendar files. See: 657s http://docs.translatehouse.org/projects/translate- 657s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 657s 657s Options: 657s --version show program's version number and exit 657s -h, --help show this help message and exit 657s --manpage output a manpage based on the help 657s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 657s --errorlevel=ERRORLEVEL 657s show errorlevel as: none, message, exception, 657s traceback 657s -i INPUT, --input=INPUT 657s read from INPUT in po, pot formats 657s -x EXCLUDE, --exclude=EXCLUDE 657s exclude names matching EXCLUDE from input paths 657s -o OUTPUT, --output=OUTPUT 657s write to OUTPUT in ics format 657s -t TEMPLATE, --template=TEMPLATE 657s read from TEMPLATE in ics format 657s -S, --timestamp skip conversion if the output file has newer timestamp 657s --threshold=PERCENT only convert files where the translation completion is 657s above PERCENT 657s --fuzzy use translations marked fuzzy 657s --nofuzzy don't use translations marked fuzzy (default) 657s ========= SMOKE TEST: /usr/bin/po2idml =========== 657s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 657s 657s Takes an IDML template file and a PO file containing translations of strings 657s in the IDML template. It creates a new IDML file using the translations of the 657s PO file. 657s 657s Options: 657s --version show program's version number and exit 657s -h, --help show this help message and exit 657s --manpage output a manpage based on the help 657s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 657s --errorlevel=ERRORLEVEL 657s show errorlevel as: none, message, exception, 657s traceback 657s -i INPUT, --input=INPUT 657s read from INPUT in po, pot formats 657s -x EXCLUDE, --exclude=EXCLUDE 657s exclude names matching EXCLUDE from input paths 657s -o OUTPUT, --output=OUTPUT 657s write to OUTPUT in idml format 657s -t TEMPLATE, --template=TEMPLATE 657s read from TEMPLATE in idml format 657s -S, --timestamp skip conversion if the output file has newer timestamp 658s ========= SMOKE TEST: /usr/bin/po2ini =========== 658s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 658s 658s Convert Gettext PO localization files to .ini files. See: 658s http://docs.translatehouse.org/projects/translate- 658s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 658s 658s Options: 658s --version show program's version number and exit 658s -h, --help show this help message and exit 658s --manpage output a manpage based on the help 658s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 658s --errorlevel=ERRORLEVEL 658s show errorlevel as: none, message, exception, 658s traceback 658s -i INPUT, --input=INPUT 658s read from INPUT in po, pot formats 658s -x EXCLUDE, --exclude=EXCLUDE 658s exclude names matching EXCLUDE from input paths 658s -o OUTPUT, --output=OUTPUT 658s write to OUTPUT in ini, isl formats 658s -t TEMPLATE, --template=TEMPLATE 658s read from TEMPLATE in ini, isl formats 658s -S, --timestamp skip conversion if the output file has newer timestamp 658s --threshold=PERCENT only convert files where the translation completion is 658s above PERCENT 658s --fuzzy use translations marked fuzzy 658s --nofuzzy don't use translations marked fuzzy (default) 658s ========= SMOKE TEST: /usr/bin/po2json =========== 658s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 658s 658s Convert Gettext PO localization files to JSON files. See: 658s http://docs.translatehouse.org/projects/translate- 658s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 658s 658s Options: 658s --version show program's version number and exit 658s -h, --help show this help message and exit 658s --manpage output a manpage based on the help 658s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 658s --errorlevel=ERRORLEVEL 658s show errorlevel as: none, message, exception, 658s traceback 658s -i INPUT, --input=INPUT 658s read from INPUT in po, pot formats 658s -x EXCLUDE, --exclude=EXCLUDE 658s exclude names matching EXCLUDE from input paths 658s -o OUTPUT, --output=OUTPUT 658s write to OUTPUT in json format 658s -t TEMPLATE, --template=TEMPLATE 658s read from TEMPLATE in json format 658s -S, --timestamp skip conversion if the output file has newer timestamp 658s --threshold=PERCENT only convert files where the translation completion is 658s above PERCENT 658s --fuzzy use translations marked fuzzy 658s --nofuzzy don't use translations marked fuzzy (default) 658s --removeuntranslated remove untranslated strings from output 658s ========= SMOKE TEST: /usr/bin/po2md =========== 658s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 658s 658s Translate Markdown files using Gettext PO localization files. See: 658s http://docs.translatehouse.org/projects/translate- 658s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 658s 658s Options: 658s --version show program's version number and exit 658s -h, --help show this help message and exit 658s --manpage output a manpage based on the help 658s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 658s --errorlevel=ERRORLEVEL 658s show errorlevel as: none, message, exception, 658s traceback 658s -i INPUT, --input=INPUT 658s read from INPUT in po, pot formats 658s -x EXCLUDE, --exclude=EXCLUDE 658s exclude names matching EXCLUDE from input paths 658s -o OUTPUT, --output=OUTPUT 658s write to OUTPUT in markdown, md, text, txt formats 658s -t TEMPLATE, --template=TEMPLATE 658s read from TEMPLATE in markdown, md, text, txt formats 658s -S, --timestamp skip conversion if the output file has newer timestamp 658s -m MAXLENGTH, --maxlinelength=MAXLENGTH 658s reflow (word wrap) the output to the given maximum 658s line length. set to 0 to disable 658s --threshold=PERCENT only convert files where the translation completion is 658s above PERCENT 658s --fuzzy use translations marked fuzzy 658s --nofuzzy don't use translations marked fuzzy (default) 659s ========= SMOKE TEST: /usr/bin/po2moz =========== 659s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 659s 659s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 659s See: http://docs.translatehouse.org/projects/translate- 659s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 659s 659s Options: 659s --version show program's version number and exit 659s -h, --help show this help message and exit 659s --manpage output a manpage based on the help 659s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 659s --errorlevel=ERRORLEVEL 659s show errorlevel as: none, message, exception, 659s traceback 659s -i INPUT, --input=INPUT 659s read from INPUT in *, dtd.po, dtd.pot, inc.po, 659s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 659s lang.pot, manifest, properties.po, properties.pot, rdf 659s formats 659s -x EXCLUDE, --exclude=EXCLUDE 659s exclude names matching EXCLUDE from input paths 659s -o OUTPUT, --output=OUTPUT 659s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 659s manifest, properties, rdf formats 659s -t TEMPLATE, --template=TEMPLATE 659s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 659s manifest, properties, rdf formats 659s -S, --timestamp skip conversion if the output file has newer timestamp 659s -l LOCALE, --locale=LOCALE 659s set output locale (required as this sets the directory 659s names) 659s --threshold=PERCENT only convert files where the translation completion is 659s above PERCENT 659s --fuzzy use translations marked fuzzy 659s --nofuzzy don't use translations marked fuzzy (default) 659s --removeuntranslated remove untranslated strings from output 659s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 659s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 659s 659s Convert Gettext PO localization files to Mozilla .lang files. 659s 659s Options: 659s --version show program's version number and exit 659s -h, --help show this help message and exit 659s --manpage output a manpage based on the help 659s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 659s --errorlevel=ERRORLEVEL 659s show errorlevel as: none, message, exception, 659s traceback 659s -i INPUT, --input=INPUT 659s read from INPUT in po, pot formats 659s -x EXCLUDE, --exclude=EXCLUDE 659s exclude names matching EXCLUDE from input paths 659s -o OUTPUT, --output=OUTPUT 659s write to OUTPUT in lang format 659s -t TEMPLATE, --template=TEMPLATE 659s read from TEMPLATE in lang format 659s -S, --timestamp skip conversion if the output file has newer timestamp 659s --mark-active mark the file as active 659s --threshold=PERCENT only convert files where the translation completion is 659s above PERCENT 659s --fuzzy use translations marked fuzzy 659s --nofuzzy don't use translations marked fuzzy (default) 659s ========= SMOKE TEST: /usr/bin/po2oo =========== 659s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 659s 659s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 659s file. See: http://docs.translatehouse.org/projects/translate- 659s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 659s 659s Options: 659s --version show program's version number and exit 659s -h, --help show this help message and exit 659s --manpage output a manpage based on the help 659s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 659s --errorlevel=ERRORLEVEL 659s show errorlevel as: none, message, exception, 659s traceback 659s -i INPUT, --input=INPUT 659s read from INPUT in po, pot, xlf, xliff formats 659s -x EXCLUDE, --exclude=EXCLUDE 659s exclude names matching EXCLUDE from input paths 659s -o OUTPUT, --output=OUTPUT 659s write to OUTPUT in oo, sdf formats 659s -t TEMPLATE, --template=TEMPLATE 659s read from TEMPLATE in oo, sdf formats 659s -S, --timestamp skip conversion if the output file has newer timestamp 659s -l LANG, --language=LANG 659s set target language code (e.g. af-ZA) [required] 659s --source-language=LANG 659s set source language code (default en-US) 659s -T, --keeptimestamp don't change the timestamps of the strings 659s --nonrecursiveoutput don't treat the output oo as a recursive store 659s --nonrecursivetemplate 659s don't treat the template oo as a recursive store 659s --skipsource don't output the source language, but fallback to it 659s where needed 659s --filteraction=ACTION 659s action on pofilter failure: none (default), warn, 659s exclude-serious, exclude-all 659s --threshold=PERCENT only convert files where the translation completion is 659s above PERCENT 659s --fuzzy use translations marked fuzzy 659s --nofuzzy don't use translations marked fuzzy (default) 659s --multifile=MULTIFILESTYLE 659s how to split po/pot files (single, toplevel or 659s onefile) 659s ========= SMOKE TEST: /usr/bin/po2php =========== 659s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 659s 659s Convert Gettext PO localization files to PHP localization files. See: 659s http://docs.translatehouse.org/projects/translate- 659s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 659s 659s Options: 659s --version show program's version number and exit 659s -h, --help show this help message and exit 659s --manpage output a manpage based on the help 659s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 659s --errorlevel=ERRORLEVEL 659s show errorlevel as: none, message, exception, 659s traceback 659s -i INPUT, --input=INPUT 659s read from INPUT in po, pot formats 659s -x EXCLUDE, --exclude=EXCLUDE 659s exclude names matching EXCLUDE from input paths 659s -o OUTPUT, --output=OUTPUT 659s write to OUTPUT in html, php formats 659s -t TEMPLATE, --template=TEMPLATE 659s read from TEMPLATE in html, php formats 659s -S, --timestamp skip conversion if the output file has newer timestamp 659s --threshold=PERCENT only convert files where the translation completion is 659s above PERCENT 659s --fuzzy use translations marked fuzzy 659s --nofuzzy don't use translations marked fuzzy (default) 660s ========= SMOKE TEST: /usr/bin/po2prop =========== 660s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 660s 660s Convert Gettext PO localization files to Java/Mozilla .properties files. 660s See: http://docs.translatehouse.org/projects/translate- 660s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 660s 660s Options: 660s --version show program's version number and exit 660s -h, --help show this help message and exit 660s --manpage output a manpage based on the help 660s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 660s --errorlevel=ERRORLEVEL 660s show errorlevel as: none, message, exception, 660s traceback 660s -i INPUT, --input=INPUT 660s read from INPUT in po, pot formats 660s -x EXCLUDE, --exclude=EXCLUDE 660s exclude names matching EXCLUDE from input paths 660s -o OUTPUT, --output=OUTPUT 660s write to OUTPUT in lang, properties, strings formats 660s -t TEMPLATE, --template=TEMPLATE 660s read from TEMPLATE in lang, properties, strings 660s formats 660s -S, --timestamp skip conversion if the output file has newer timestamp 660s --personality=TYPE override the input file format: java, java-utf8, java- 660s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 660s strings, strings-utf8, joomla (for .properties files, 660s default: java) 660s --encoding=ENCODING override the encoding set by the personality 660s --threshold=PERCENT only convert files where the translation completion is 660s above PERCENT 660s --fuzzy use translations marked fuzzy 660s --nofuzzy don't use translations marked fuzzy (default) 660s --removeuntranslated remove untranslated strings from output 660s ========= SMOKE TEST: /usr/bin/po2rc =========== 660s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 660s 660s Convert Gettext PO localization files back to Windows Resource (.rc) files. 660s See: http://docs.translatehouse.org/projects/translate- 660s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 660s 660s Options: 660s --version show program's version number and exit 660s -h, --help show this help message and exit 660s --manpage output a manpage based on the help 660s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 660s --errorlevel=ERRORLEVEL 660s show errorlevel as: none, message, exception, 660s traceback 660s -i INPUT, --input=INPUT 660s read from INPUT in po, pot formats 660s -x EXCLUDE, --exclude=EXCLUDE 660s exclude names matching EXCLUDE from input paths 660s -o OUTPUT, --output=OUTPUT 660s write to OUTPUT in rc format 660s -t TEMPLATE, --template=TEMPLATE 660s read from TEMPLATE in rc format 660s -S, --timestamp skip conversion if the output file has newer timestamp 660s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 660s -l LANG, --lang=LANG LANG entry 660s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 660s --threshold=PERCENT only convert files where the translation completion is 660s above PERCENT 660s --fuzzy use translations marked fuzzy 660s --nofuzzy don't use translations marked fuzzy (default) 660s ========= SMOKE TEST: /usr/bin/po2resx =========== 660s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 660s 660s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 660s http://docs.translatehouse.org/projects/translate- 660s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 660s 660s Options: 660s --version show program's version number and exit 660s -h, --help show this help message and exit 660s --manpage output a manpage based on the help 660s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 660s --errorlevel=ERRORLEVEL 660s show errorlevel as: none, message, exception, 660s traceback 660s -i INPUT, --input=INPUT 660s read from INPUT in po, pot formats 660s -x EXCLUDE, --exclude=EXCLUDE 660s exclude names matching EXCLUDE from input paths 660s -o OUTPUT, --output=OUTPUT 660s write to OUTPUT in resx format 660s -t TEMPLATE, --template=TEMPLATE 660s read from TEMPLATE in resx format 660s -S, --timestamp skip conversion if the output file has newer timestamp 660s --fuzzy use translations marked fuzzy 660s --nofuzzy don't use translations marked fuzzy (default) 660s ========= SMOKE TEST: /usr/bin/po2sub =========== 660s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 660s 660s Convert Gettext PO localization files to subtitle files. See: 660s http://docs.translatehouse.org/projects/translate- 660s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 660s 660s Options: 660s --version show program's version number and exit 660s -h, --help show this help message and exit 660s --manpage output a manpage based on the help 660s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 660s --errorlevel=ERRORLEVEL 660s show errorlevel as: none, message, exception, 660s traceback 660s -i INPUT, --input=INPUT 660s read from INPUT in po, pot formats 660s -x EXCLUDE, --exclude=EXCLUDE 660s exclude names matching EXCLUDE from input paths 660s -o OUTPUT, --output=OUTPUT 660s write to OUTPUT in ass, srt, ssa, sub formats 660s -t TEMPLATE, --template=TEMPLATE 660s read from TEMPLATE in ass, srt, ssa, sub formats 660s -S, --timestamp skip conversion if the output file has newer timestamp 660s --threshold=PERCENT only convert files where the translation completion is 660s above PERCENT 660s --fuzzy use translations marked fuzzy 660s --nofuzzy don't use translations marked fuzzy (default) 661s ========= SMOKE TEST: /usr/bin/po2symb =========== 661s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 661s 661s Convert Gettext PO localization files to Symbian translation files. See: 661s http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in r0 format 661s -t TEMPLATE, --template=TEMPLATE 661s read from TEMPLATE in 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s --duplicates=DUPLICATESTYLE 661s what to do with duplicate strings (identical source 661s text): merge, msgctxt (default: 'msgctxt') 661s ========= SMOKE TEST: /usr/bin/po2tiki =========== 661s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 661s 661s Convert Gettext PO files to TikiWiki's language.php files. See: 661s http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in tiki format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s ========= SMOKE TEST: /usr/bin/po2tmx =========== 661s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 661s 661s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 661s file. See: http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in tmx format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s -l LANG, --language=LANG 661s set target language code (e.g. af-ZA) [required] 661s --source-language=LANG 661s set source language code (default: en) 661s --comments=COMMENT set default comment import: none, source, type or 661s others (default: none) 661s ========= SMOKE TEST: /usr/bin/po2ts =========== 661s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 661s 661s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 661s http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in ts format 661s -t TEMPLATE, --template=TEMPLATE 661s read from TEMPLATE in ts format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s -c CONTEXT, --context=CONTEXT 661s use supplied context instead of the one in the .po 661s file comment 661s ========= SMOKE TEST: /usr/bin/po2txt =========== 661s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 661s 661s Convert Gettext PO localization files to plain text (.txt) files. See: 661s http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot, xlf, xliff formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in txt format 661s -t TEMPLATE, --template=TEMPLATE 661s read from TEMPLATE in txt format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s --encoding=ENCODING The encoding of the template file (default: UTF-8) 661s -w WRAP, --wrap=WRAP set number of columns to wrap text at 661s --threshold=PERCENT only convert files where the translation completion is 661s above PERCENT 661s --fuzzy use translations marked fuzzy 661s --nofuzzy don't use translations marked fuzzy (default) 661s ========= SMOKE TEST: /usr/bin/po2web2py =========== 661s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 661s 661s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 661s http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in py format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s --threshold=PERCENT only convert files where the translation completion is 661s above PERCENT 661s --fuzzy use translations marked fuzzy 661s --nofuzzy don't use translations marked fuzzy (default) 661s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 661s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 661s 661s Convert Gettext PO localization files to a Wordfast translation memory file. 661s See: http://docs.translatehouse.org/projects/translate- 661s toolkit/en/latest/commands/po2wordfast.html for examples and usage 661s instructions. 661s 661s Options: 661s --version show program's version number and exit 661s -h, --help show this help message and exit 661s --manpage output a manpage based on the help 661s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 661s --errorlevel=ERRORLEVEL 661s show errorlevel as: none, message, exception, 661s traceback 661s -i INPUT, --input=INPUT 661s read from INPUT in po, pot formats 661s -x EXCLUDE, --exclude=EXCLUDE 661s exclude names matching EXCLUDE from input paths 661s -o OUTPUT, --output=OUTPUT 661s write to OUTPUT in txt format 661s -S, --timestamp skip conversion if the output file has newer timestamp 661s -l LANG, --language=LANG 661s set target language code (e.g. af-ZA) [required] 661s --source-language=LANG 661s set source language code (default: en) 662s ========= SMOKE TEST: /usr/bin/po2xliff =========== 662s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 662s 662s Convert Gettext PO localization files to XLIFF localization files. See: 662s http://docs.translatehouse.org/projects/translate- 662s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 662s 662s Options: 662s --version show program's version number and exit 662s -h, --help show this help message and exit 662s --manpage output a manpage based on the help 662s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 662s --errorlevel=ERRORLEVEL 662s show errorlevel as: none, message, exception, 662s traceback 662s -i INPUT, --input=INPUT 662s read from INPUT in po, pot formats 662s -x EXCLUDE, --exclude=EXCLUDE 662s exclude names matching EXCLUDE from input paths 662s -o OUTPUT, --output=OUTPUT 662s write to OUTPUT in xlf, xliff formats 662s -t TEMPLATE, --template=TEMPLATE 662s read from TEMPLATE in xlf, xliff formats 662s -S, --timestamp skip conversion if the output file has newer timestamp 662s ========= SMOKE TEST: /usr/bin/po2yaml =========== 662s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 662s 662s Convert Gettext PO localization files to YAML files. See: 662s http://docs.translatehouse.org/projects/translate- 662s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 662s 662s Options: 662s --version show program's version number and exit 662s -h, --help show this help message and exit 662s --manpage output a manpage based on the help 662s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 662s --errorlevel=ERRORLEVEL 662s show errorlevel as: none, message, exception, 662s traceback 662s -i INPUT, --input=INPUT 662s read from INPUT in po, pot formats 662s -x EXCLUDE, --exclude=EXCLUDE 662s exclude names matching EXCLUDE from input paths 662s -o OUTPUT, --output=OUTPUT 662s write to OUTPUT in yaml, yml formats 662s -t TEMPLATE, --template=TEMPLATE 662s read from TEMPLATE in yaml, yml formats 662s -S, --timestamp skip conversion if the output file has newer timestamp 662s --threshold=PERCENT only convert files where the translation completion is 662s above PERCENT 662s --fuzzy use translations marked fuzzy 662s --nofuzzy don't use translations marked fuzzy (default) 662s ========= SMOKE TEST: /usr/bin/poclean =========== 662s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 662s 662s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 662s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 662s produces the target file with only the target text in from a text version of 662s the RTF. 662s 662s Options: 662s --version show program's version number and exit 662s -h, --help show this help message and exit 662s --manpage output a manpage based on the help 662s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 662s --errorlevel=ERRORLEVEL 662s show errorlevel as: none, message, exception, 662s traceback 662s -i INPUT, --input=INPUT 662s read from INPUT in po, pot, xlf, xliff formats 662s -x EXCLUDE, --exclude=EXCLUDE 662s exclude names matching EXCLUDE from input paths 662s -o OUTPUT, --output=OUTPUT 662s write to OUTPUT in po, pot, xlf, xliff formats 662s -S, --timestamp skip conversion if the output file has newer timestamp 662s ========= SMOKE TEST: /usr/bin/pocompendium =========== 662s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 662s The first parameter is the output file, standard output if the output file is '-'. 662s Any number of directories may be specified for input files. 662s Options: 662s --invert|v Creates an inverse compendium with msgid and msgstr swapped 662s --errors|e Only ouput msg bundles that have errors 662s --correct|c Only ouput msg bundles that are correctly translated 662s --ignore-case|i Drops all strings to lowercase 662s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 662s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 662s --strip-accel-under|-su Strip all underscore (_) accelerator characters 662s ========= SMOKE TEST: /usr/bin/pocompile =========== 662s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 662s 662s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 662s Object) files. See: http://docs.translatehouse.org/projects/translate- 662s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 662s 662s Options: 662s --version show program's version number and exit 662s -h, --help show this help message and exit 662s --manpage output a manpage based on the help 662s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 662s --errorlevel=ERRORLEVEL 662s show errorlevel as: none, message, exception, 662s traceback 662s -i INPUT, --input=INPUT 662s read from INPUT in po, pot, xlf, xliff formats 662s -x EXCLUDE, --exclude=EXCLUDE 662s exclude names matching EXCLUDE from input paths 662s -o OUTPUT, --output=OUTPUT 662s write to OUTPUT in mo format 662s -S, --timestamp skip conversion if the output file has newer timestamp 662s --fuzzy use translations marked fuzzy 662s --nofuzzy don't use translations marked fuzzy (default) 662s ========= SMOKE TEST: /usr/bin/poconflicts =========== 662s 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] 662s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 662s 662s Conflict finder for Gettext PO localization files. See: 662s http://docs.translatehouse.org/projects/translate- 662s toolkit/en/latest/commands/poconflicts.html for examples and usage 662s instructions. 662s 662s Options: 662s --version show program's version number and exit 662s -h, --help show this help message and exit 662s --manpage output a manpage based on the help 662s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 662s --errorlevel=ERRORLEVEL 662s show errorlevel as: none, message, exception, 662s traceback 662s -i INPUT, --input=INPUT 662s read from INPUT in po format 662s -x EXCLUDE, --exclude=EXCLUDE 662s exclude names matching EXCLUDE from input paths 662s -o OUTPUT, --output=OUTPUT 662s write to OUTPUT in po format 662s -I, --ignore-case ignore case distinctions 662s -v, --invert invert the conflicts thus extracting conflicting 662s destination words 662s --accelerator=ACCELERATORS 662s ignores the given accelerator characters when matching 663s ========= SMOKE TEST: /usr/bin/pocount =========== 663s usage: pocount [-h] [--incomplete] 663s [--full | --csv | --short | --short-strings | --short-words] 663s [--no-color] 663s files [files ...] 663s 663s positional arguments: 663s files 663s 663s options: 663s -h, --help show this help message and exit 663s --incomplete skip 100% translated files. 663s 663s Output format: 663s --full (default) statistics in full, verbose format 663s --csv statistics in CSV format 663s --short same as --short-strings 663s --short-strings statistics of strings in short format - one line per file 663s --short-words statistics of words in short format - one line per file 663s --no-color show output without color 663s ========= SMOKE TEST: /usr/bin/podebug =========== 663s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 663s 663s Insert debug messages into XLIFF and Gettext PO localization files. See: 663s http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 663s 663s Options: 663s --version show program's version number and exit 663s -h, --help show this help message and exit 663s --manpage output a manpage based on the help 663s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 663s --errorlevel=ERRORLEVEL 663s show errorlevel as: none, message, exception, 663s traceback 663s -i INPUT, --input=INPUT 663s read from INPUT in po, pot, pot, tmx, xlf, xliff 663s formats 663s -x EXCLUDE, --exclude=EXCLUDE 663s exclude names matching EXCLUDE from input paths 663s -o OUTPUT, --output=OUTPUT 663s write to OUTPUT in po, pot, tmx, xlf, xliff formats 663s -S, --timestamp skip conversion if the output file has newer timestamp 663s -f FORMAT, --format=FORMAT 663s specify format string 663s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 663s classified, en, flipped, unicode, xxx 663s --ignore=APPLICATION apply tagging ignore rules for the given application: 663s gtk, kde, libreoffice, mozilla, openoffice 663s --preserveplaceholders 663s attempt to exclude characters that are part of 663s placeholders when performing character-level rewrites 663s so that consuming applications can still use the 663s placeholders to generate final output 663s ========= SMOKE TEST: /usr/bin/pofilter =========== 663s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 663s 663s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 663s Snippet files are created whenever a test fails. These can be examined, 663s corrected and merged back into the originals using pomerge. See: 663s http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 663s and http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 663s tests. 663s 663s Options: 663s --version show program's version number and exit 663s -h, --help show this help message and exit 663s --manpage output a manpage based on the help 663s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 663s --errorlevel=ERRORLEVEL 663s show errorlevel as: none, message, exception, 663s traceback 663s -i INPUT, --input=INPUT 663s read from INPUT in po, pot, tmx, xlf, xliff formats 663s -x EXCLUDE, --exclude=EXCLUDE 663s exclude names matching EXCLUDE from input paths 663s -o OUTPUT, --output=OUTPUT 663s write to OUTPUT in po, pot, tmx, xlf, xliff formats 663s -l, --listfilters list filters available 663s --review include units marked for review (default) 663s --noreview exclude units marked for review 663s --fuzzy include units marked fuzzy (default) 663s --nofuzzy exclude units marked fuzzy 663s --nonotes don't add notes about the errors 663s --autocorrect output automatic corrections where possible rather 663s than describing issues 663s --language=LANG set target language code (e.g. af-ZA) [required for 663s spell check and recommended in general] 663s --openoffice use the standard checks for OpenOffice translations 663s --libreoffice use the standard checks for LibreOffice translations 663s --mozilla use the standard checks for Mozilla translations 663s --drupal use the standard checks for Drupal translations 663s --gnome use the standard checks for Gnome translations 663s --kde use the standard checks for KDE translations 663s --wx use the standard checks for wxWidgets translations 663s --excludefilter=FILTER 663s don't use FILTER when filtering 663s -t FILTER, --test=FILTER 663s only use test FILTERs specified with this option when 663s filtering 663s --notranslatefile=FILE 663s read list of untranslatable words from FILE (must not 663s be translated) 663s --musttranslatefile=FILE 663s read list of translatable words from FILE (must be 663s translated) 663s --validcharsfile=FILE 663s read list of all valid characters from FILE (must be 663s in UTF-8) 663s ========= SMOKE TEST: /usr/bin/pogrep =========== 663s 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] 663s 663s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 663s snippet files of the same type which can then be reviewed and later merged 663s using :doc:`pomerge `. See: 663s http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 663s 663s Options: 663s --version show program's version number and exit 663s -h, --help show this help message and exit 663s --manpage output a manpage based on the help 663s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 663s --errorlevel=ERRORLEVEL 663s show errorlevel as: none, message, exception, 663s traceback 663s -i INPUT, --input=INPUT 663s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 663s xliff formats 663s -x EXCLUDE, --exclude=EXCLUDE 663s exclude names matching EXCLUDE from input paths 663s -o OUTPUT, --output=OUTPUT 663s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 663s xliff formats 663s --search=SEARCHPARTS searches the given parts (source, target, notes and 663s locations) 663s -I, --ignore-case ignore case distinctions 663s -e, --regexp use regular expression matching 663s -v, --invert-match select non-matching lines 663s --accelerator=ACCELERATOR 663s ignores the given accelerator when matching 663s -k, --keep-translations 663s always extract units with translations 663s ========= SMOKE TEST: /usr/bin/pomerge =========== 663s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 663s 663s Merges XLIFF and Gettext PO localization files. Snippet file produced by 663s e.g. :doc:`pogrep ` and updated by a translator can be 663s merged back into the original files. See: 663s http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 663s 663s Options: 663s --version show program's version number and exit 663s -h, --help show this help message and exit 663s --manpage output a manpage based on the help 663s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 663s --errorlevel=ERRORLEVEL 663s show errorlevel as: none, message, exception, 663s traceback 663s -i INPUT, --input=INPUT 663s read from INPUT in po, pot, pot, xlf, xliff formats 663s -x EXCLUDE, --exclude=EXCLUDE 663s exclude names matching EXCLUDE from input paths 663s -o OUTPUT, --output=OUTPUT 663s write to OUTPUT in po, pot, pot, xlf, xliff formats 663s -t TEMPLATE, --template=TEMPLATE 663s read from TEMPLATE in po, pot, pot, xlf, xliff formats 663s -S, --timestamp skip conversion if the output file has newer timestamp 663s --mergeblanks=MERGEBLANKS 663s whether to overwrite existing translations with blank 663s translations (yes/no). Default is yes. 663s --mergefuzzy=MERGEFUZZY 663s whether to consider fuzzy translations from input 663s (yes/no). Default is yes. 663s --mergecomments=MERGECOMMENTS 663s whether to merge comments as well as translations 663s (yes/no). Default is yes. 663s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 663s Usage pomigrate2 [options] 663s 663s Options: 663s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 663s -C|--use-compendium - create and use a compendium built from the migrating files 663s -C|--use-compendium=some-compendium.po 663s - use an external compendium during the migration 663s --no-wrap - do not wrap long lines 663s --locale=lang - set locale for newly born files 663s -q|--quiet - suppress most output 663s -p|--pot2po - use pot2po instead of msgmerge to migrate 663s ========= SMOKE TEST: /usr/bin/popuretext =========== 663s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 663s ========= SMOKE TEST: /usr/bin/poreencode =========== 663s Usage: poreencode 663s eg: poreencode UTF-8 af/ 663s ========= SMOKE TEST: /usr/bin/porestructure =========== 663s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 663s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 663s 663s Restructure Gettxt PO files produced by :doc:`poconflicts 663s ` into the original directory tree for merging using 663s :doc:`pomerge `. See: 663s http://docs.translatehouse.org/projects/translate- 663s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 663s 663s Options: 663s --version show program's version number and exit 663s -h, --help show this help message and exit 663s --manpage output a manpage based on the help 663s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 663s --errorlevel=ERRORLEVEL 663s show errorlevel as: none, message, exception, 663s traceback 663s -i INPUT, --input=INPUT 663s read from INPUT in po format 663s -x EXCLUDE, --exclude=EXCLUDE 663s exclude names matching EXCLUDE from input paths 663s -o OUTPUT, --output=OUTPUT 663s write to OUTPUT in po format 663s ========= SMOKE TEST: /usr/bin/posegment =========== 664s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 664s 664s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 664s See: http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in po, pot, tmx, xlf, xliff formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in po, pot, tmx, xlf, xliff formats 664s -S, --timestamp skip conversion if the output file has newer timestamp 664s -P, --pot output PO Templates (.pot) rather than PO files (.po) 664s -l LANG, --language=LANG 664s the target language code 664s --source-language=LANG 664s the source language code (default 'en') 664s --keepspaces Disable automatic stripping of whitespace 664s --only-aligned Removes units where sentence number does not 664s correspond 664s ========= SMOKE TEST: /usr/bin/poswap =========== 664s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 664s 664s Builds a new translation file with the target of the input language as source 664s language. .. note:: Ensure that the two po files correspond 100% to the same 664s pot file before using this. To translate Kurdish (ku) through French:: 664s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 664s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 664s http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in po, pot formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in po, pot formats 664s -t TEMPLATE, --template=TEMPLATE 664s read from TEMPLATE in po, pot, pot formats 664s -S, --timestamp skip conversion if the output file has newer timestamp 664s --reverse reverse the process of intermediate language 664s conversion 664s ========= SMOKE TEST: /usr/bin/pot2po =========== 664s 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] 664s 664s Convert template files (like .pot or template .xlf files) to translation 664s files, preserving existing translations. See: 664s http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 664s formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 664s xliff formats 664s -t TEMPLATE, --template=TEMPLATE 664s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 664s xliff formats 664s -S, --timestamp skip conversion if the output file has newer timestamp 664s -P, --pot output PO Templates (.pot) rather than PO files (.po) 664s --tm=TM The file to use as translation memory when fuzzy 664s matching 664s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 664s The minimum similarity for inclusion (default: 75%) 664s --nofuzzymatching Disable fuzzy matching 664s ========= SMOKE TEST: /usr/bin/poterminology =========== 664s 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] 664s input directory is searched for PO files, terminology PO file is output file 664s 664s Create a terminology file by reading a set of .po or .pot files to produce a 664s pootle-terminology.pot. See: 664s http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/poterminology.html for examples and usage 664s instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in po, pot formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in po, pot formats 664s -u UPDATEFILE, --update=UPDATEFILE 664s update terminology in UPDATEFILE 664s -S STOPFILE, --stopword-list=STOPFILE 664s read stopword (term exclusion) list from STOPFILE 664s (default /usr/share/pyshared/translate/share/stoplist- 664s en) 664s -F, --fold-titlecase fold "Title Case" to lowercase (default) 664s -C, --preserve-case preserve all uppercase/lowercase 664s -I, --ignore-case make all terms lowercase 664s --accelerator=ACCELERATORS 664s ignore the given accelerator characters when matching 664s -t LENGTH, --term-words=LENGTH 664s generate terms of up to LENGTH words (default 3) 664s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 664s 1) 664s --inputs-needed=MIN omit terms appearing in less than MIN input files 664s (default 2, or 1 if only one input file) 664s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 664s different messages (default 1) 664s --substr-needed=MIN omit substring-only terms appearing in less than MIN 664s different messages (default 2) 664s --locs-needed=MIN omit terms appearing in less than MIN different 664s original source files (default 2) 664s --sort=ORDER output sort order(s): frequency, dictionary, length 664s (may repeat option, default is all in above order) 664s --source-language=LANG 664s the source language code (default 'en') 664s -v, --invert invert the source and target languages for terminology 664s ========= SMOKE TEST: /usr/bin/pretranslate =========== 664s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 664s 664s Fill localization files with suggested translations based on translation 664s memory and existing translations. See: 664s http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/pretranslate.html for examples and usage 664s instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in po, pot, pot, xlf, xliff formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in po, pot, xlf, xliff formats 664s -t TEMPLATE, --template=TEMPLATE 664s read from TEMPLATE in po, pot, xlf, xliff formats 664s -S, --timestamp skip conversion if the output file has newer timestamp 664s --tm=TM The file to use as translation memory when fuzzy 664s matching 664s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 664s The minimum similarity for inclusion (default: 75%) 664s --nofuzzymatching Disable fuzzy matching 664s ========= SMOKE TEST: /usr/bin/prop2po =========== 664s 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] 664s 664s Convert Java/Mozilla .properties files to Gettext PO localization files. 664s See: http://docs.translatehouse.org/projects/translate- 664s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 664s 664s Options: 664s --version show program's version number and exit 664s -h, --help show this help message and exit 664s --manpage output a manpage based on the help 664s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 664s --errorlevel=ERRORLEVEL 664s show errorlevel as: none, message, exception, 664s traceback 664s -i INPUT, --input=INPUT 664s read from INPUT in lang, properties, strings formats 664s -x EXCLUDE, --exclude=EXCLUDE 664s exclude names matching EXCLUDE from input paths 664s -o OUTPUT, --output=OUTPUT 664s write to OUTPUT in po, pot formats 664s -t TEMPLATE, --template=TEMPLATE 664s read from TEMPLATE in lang, properties, strings 664s formats 664s -S, --timestamp skip conversion if the output file has newer timestamp 664s -P, --pot output PO Templates (.pot) rather than PO files (.po) 664s --personality=TYPE override the input file format: java, java-utf8, java- 664s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 664s strings, strings-utf8, joomla (for .properties files, 664s default: java) 664s --encoding=ENCODING override the encoding set by the personality 664s --duplicates=DUPLICATESTYLE 664s what to do with duplicate strings (identical source 664s text): merge, msgctxt (default: 'msgctxt') 665s ========= SMOKE TEST: /usr/bin/pydiff =========== 665s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 665s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 665s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 665s fromfile tofile 665s 665s positional arguments: 665s fromfile 665s tofile 665s 665s options: 665s -h, --help show this help message and exit 665s -i, --ignore-case Ignore case differences in file contents. 665s -U NUM, --unified NUM 665s Output NUM (default 3) lines of unified context 665s -r, --recursive Recursively compare any subdirectories found. 665s -N, --new-file Treat absent files as empty. 665s --unidirectional-new-file 665s Treat absent first files as empty. 665s -s, --report-identical-files 665s Report when two files are the same. 665s -x PAT, --exclude PAT 665s Exclude files that match PAT. 665s --fromcontains TEXT Only show changes where fromfile contains TEXT 665s --tocontains TEXT Only show changes where tofile contains TEXT 665s --contains TEXT Only show changes where fromfile or tofile contains 665s TEXT 665s -I, --ignore-case-contains 665s Ignore case differences when matching any of the 665s changes 665s --accelerator ACCELERATORS 665s ignores the given accelerator characters when matching 665s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 665s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 665s 665s Convert Python format .po files to PHP format .po files. 665s 665s Options: 665s --version show program's version number and exit 665s -h, --help show this help message and exit 665s --manpage output a manpage based on the help 665s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 665s --errorlevel=ERRORLEVEL 665s show errorlevel as: none, message, exception, 665s traceback 665s -i INPUT, --input=INPUT 665s read from INPUT in po, pot formats 665s -x EXCLUDE, --exclude=EXCLUDE 665s exclude names matching EXCLUDE from input paths 665s -o OUTPUT, --output=OUTPUT 665s write to OUTPUT in po, pot formats 665s -S, --timestamp skip conversion if the output file has newer timestamp 665s ========= SMOKE TEST: /usr/bin/rc2po =========== 665s 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] 665s 665s Convert Windows RC files to Gettext PO localization files. See: 665s http://docs.translatehouse.org/projects/translate- 665s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 665s 665s Options: 665s --version show program's version number and exit 665s -h, --help show this help message and exit 665s --manpage output a manpage based on the help 665s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 665s --errorlevel=ERRORLEVEL 665s show errorlevel as: none, message, exception, 665s traceback 665s -i INPUT, --input=INPUT 665s read from INPUT in nls, rc formats 665s -x EXCLUDE, --exclude=EXCLUDE 665s exclude names matching EXCLUDE from input paths 665s -o OUTPUT, --output=OUTPUT 665s write to OUTPUT in po, pot formats 665s -t TEMPLATE, --template=TEMPLATE 665s read from TEMPLATE in nls, rc formats 665s -S, --timestamp skip conversion if the output file has newer timestamp 665s -P, --pot output PO Templates (.pot) rather than PO files (.po) 665s --charset=CHARSET charset to use to decode the RC files (autodetection 665s is used by default) 665s -l LANG, --lang=LANG LANG entry (default: None) 665s --sublang=SUBLANG SUBLANG entry (default: None) 665s --duplicates=DUPLICATESTYLE 665s what to do with duplicate strings (identical source 665s text): merge, msgctxt (default: 'msgctxt') 665s ========= SMOKE TEST: /usr/bin/resx2po =========== 665s 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] 665s 665s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 665s http://docs.translatehouse.org/projects/translate- 665s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 665s 665s Options: 665s --version show program's version number and exit 665s -h, --help show this help message and exit 665s --manpage output a manpage based on the help 665s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 665s --errorlevel=ERRORLEVEL 665s show errorlevel as: none, message, exception, 665s traceback 665s -i INPUT, --input=INPUT 665s read from INPUT in resx format 665s -x EXCLUDE, --exclude=EXCLUDE 665s exclude names matching EXCLUDE from input paths 665s -o OUTPUT, --output=OUTPUT 665s write to OUTPUT in po, pot formats 665s -t TEMPLATE, --template=TEMPLATE 665s read from TEMPLATE in resx format 665s -S, --timestamp skip conversion if the output file has newer timestamp 665s -P, --pot output PO Templates (.pot) rather than PO files (.po) 665s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 665s everything) 665s --duplicates=DUPLICATESTYLE 665s what to do with duplicate strings (identical source 665s text): merge, msgctxt (default: 'msgctxt') 665s ========= SMOKE TEST: /usr/bin/sub2po =========== 666s 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] 666s 666s Convert subtitle files to Gettext PO localization files. See: 666s http://docs.translatehouse.org/projects/translate- 666s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 666s 666s Options: 666s --version show program's version number and exit 666s -h, --help show this help message and exit 666s --manpage output a manpage based on the help 666s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 666s --errorlevel=ERRORLEVEL 666s show errorlevel as: none, message, exception, 666s traceback 666s -i INPUT, --input=INPUT 666s read from INPUT in ass, srt, ssa, sub formats 666s -x EXCLUDE, --exclude=EXCLUDE 666s exclude names matching EXCLUDE from input paths 666s -o OUTPUT, --output=OUTPUT 666s write to OUTPUT in po, pot formats 666s -t TEMPLATE, --template=TEMPLATE 666s read from TEMPLATE in ass, srt, ssa, sub formats 666s -S, --timestamp skip conversion if the output file has newer timestamp 666s -P, --pot output PO Templates (.pot) rather than PO files (.po) 666s --duplicates=DUPLICATESTYLE 666s what to do with duplicate strings (identical source 666s text): merge, msgctxt (default: 'msgctxt') 666s ========= SMOKE TEST: /usr/bin/symb2po =========== 666s 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] 666s 666s Convert Symbian localisation files to Gettext PO localization files. See: 666s http://docs.translatehouse.org/projects/translate- 666s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 666s 666s Options: 666s --version show program's version number and exit 666s -h, --help show this help message and exit 666s --manpage output a manpage based on the help 666s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 666s --errorlevel=ERRORLEVEL 666s show errorlevel as: none, message, exception, 666s traceback 666s -i INPUT, --input=INPUT 666s read from INPUT in r01 format 666s -x EXCLUDE, --exclude=EXCLUDE 666s exclude names matching EXCLUDE from input paths 666s -o OUTPUT, --output=OUTPUT 666s write to OUTPUT in po, pot formats 666s -t TEMPLATE, --template=TEMPLATE 666s read from TEMPLATE in 666s -S, --timestamp skip conversion if the output file has newer timestamp 666s -P, --pot output PO Templates (.pot) rather than PO files (.po) 666s --duplicates=DUPLICATESTYLE 666s what to do with duplicate strings (identical source 666s text): merge, msgctxt (default: 'msgctxt') 666s ========= SMOKE TEST: /usr/bin/tbx2po =========== 666s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 666s 666s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 666s http://docs.translatehouse.org/projects/translate- 666s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 666s 666s Options: 666s --version show program's version number and exit 666s -h, --help show this help message and exit 666s --manpage output a manpage based on the help 666s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 666s --errorlevel=ERRORLEVEL 666s show errorlevel as: none, message, exception, 666s traceback 666s -i INPUT, --input=INPUT 666s read from INPUT in tbx format 666s -x EXCLUDE, --exclude=EXCLUDE 666s exclude names matching EXCLUDE from input paths 666s -o OUTPUT, --output=OUTPUT 666s write to OUTPUT in po, pot formats 666s -S, --timestamp skip conversion if the output file has newer timestamp 666s ========= SMOKE TEST: /usr/bin/tiki2po =========== 666s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 666s 666s Convert TikiWiki's language.php files to Gettext PO localization files. See: 666s http://docs.translatehouse.org/projects/translate- 666s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 666s 666s Options: 666s --version show program's version number and exit 666s -h, --help show this help message and exit 666s --manpage output a manpage based on the help 666s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 666s --errorlevel=ERRORLEVEL 666s show errorlevel as: none, message, exception, 666s traceback 666s -i INPUT, --input=INPUT 666s read from INPUT in php format 666s -x EXCLUDE, --exclude=EXCLUDE 666s exclude names matching EXCLUDE from input paths 666s -o OUTPUT, --output=OUTPUT 666s write to OUTPUT in po, pot formats 666s -S, --timestamp skip conversion if the output file has newer timestamp 666s --include-unused Include strings in the unused section 666s ========= SMOKE TEST: /usr/bin/tmserver =========== 667s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 667s [-s SOURCE_LANG] [-b BIND] [-p PORT] 667s [--max-candidates MAX_CANDIDATES] 667s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 667s [--debug] 667s 667s options: 667s -h, --help show this help message and exit 667s -d TMDBFILE, --tmdb TMDBFILE 667s translation memory database file 667s -f TMFILES, --import-translation-file TMFILES 667s translation file to import into the database 667s -t TARGET_LANG, --import-target-lang TARGET_LANG 667s target language of translation files 667s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 667s source language of translation files 667s -b BIND, --bind BIND address to bind server to (default: localhost) 667s -p PORT, --port PORT port to listen on (default: 8888) 667s --max-candidates MAX_CANDIDATES 667s Maximum number of candidates 667s --min-similarity MIN_SIMILARITY 667s minimum similarity 667s --max-length MAX_LENGTH 667s Maxmimum string length 667s --debug enable debugging features 667s ========= SMOKE TEST: /usr/bin/ts2po =========== 667s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 667s 667s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 667s http://docs.translatehouse.org/projects/translate- 667s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 667s 667s Options: 667s --version show program's version number and exit 667s -h, --help show this help message and exit 667s --manpage output a manpage based on the help 667s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 667s --errorlevel=ERRORLEVEL 667s show errorlevel as: none, message, exception, 667s traceback 667s -i INPUT, --input=INPUT 667s read from INPUT in ts format 667s -x EXCLUDE, --exclude=EXCLUDE 667s exclude names matching EXCLUDE from input paths 667s -o OUTPUT, --output=OUTPUT 667s write to OUTPUT in po, pot formats 667s -S, --timestamp skip conversion if the output file has newer timestamp 667s -P, --pot output PO Templates (.pot) rather than PO files (.po) 667s --duplicates=DUPLICATESTYLE 667s what to do with duplicate strings (identical source 667s text): merge, msgctxt (default: 'msgctxt') 667s ========= SMOKE TEST: /usr/bin/txt2po =========== 667s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 667s 667s Convert plain text (.txt) files to Gettext PO localization files. See: 667s http://docs.translatehouse.org/projects/translate- 667s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 667s 667s Options: 667s --version show program's version number and exit 667s -h, --help show this help message and exit 667s --manpage output a manpage based on the help 667s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 667s --errorlevel=ERRORLEVEL 667s show errorlevel as: none, message, exception, 667s traceback 667s -i INPUT, --input=INPUT 667s read from INPUT in *, txt formats 667s -x EXCLUDE, --exclude=EXCLUDE 667s exclude names matching EXCLUDE from input paths 667s -o OUTPUT, --output=OUTPUT 667s write to OUTPUT in po, pot formats 667s -S, --timestamp skip conversion if the output file has newer timestamp 667s -P, --pot output PO Templates (.pot) rather than PO files (.po) 667s --encoding=ENCODING The encoding of the input file (default: UTF-8) 667s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 667s mediawiki 667s --no-segmentation Don't segment the file, treat it like a single message 667s --duplicates=DUPLICATESTYLE 667s what to do with duplicate strings (identical source 667s text): merge, msgctxt (default: 'msgctxt') 667s ========= SMOKE TEST: /usr/bin/web2py2po =========== 667s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 667s 667s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 667s http://docs.translatehouse.org/projects/translate- 667s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 667s 667s Options: 667s --version show program's version number and exit 667s -h, --help show this help message and exit 667s --manpage output a manpage based on the help 667s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 667s --errorlevel=ERRORLEVEL 667s show errorlevel as: none, message, exception, 667s traceback 667s -i INPUT, --input=INPUT 667s read from INPUT in py format 667s -x EXCLUDE, --exclude=EXCLUDE 667s exclude names matching EXCLUDE from input paths 667s -o OUTPUT, --output=OUTPUT 667s write to OUTPUT in po, pot formats 667s -S, --timestamp skip conversion if the output file has newer timestamp 667s -P, --pot output PO Templates (.pot) rather than PO files (.po) 667s --duplicates=DUPLICATESTYLE 667s what to do with duplicate strings (identical source 667s text): merge, msgctxt (default: 'msgctxt') 667s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 668s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 668s 668s Convert XLIFF translation files to OpenDocument (ODF) files. See: 668s http://docs.translatehouse.org/projects/translate- 668s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 668s 668s Options: 668s --version show program's version number and exit 668s -h, --help show this help message and exit 668s --manpage output a manpage based on the help 668s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 668s --errorlevel=ERRORLEVEL 668s show errorlevel as: none, message, exception, 668s traceback 668s -i INPUT, --input=INPUT 668s read from INPUT in xlf format 668s -x EXCLUDE, --exclude=EXCLUDE 668s exclude names matching EXCLUDE from input paths 668s -o OUTPUT, --output=OUTPUT 668s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 668s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 668s -t TEMPLATE, --template=TEMPLATE 668s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 668s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 668s formats 668s -S, --timestamp skip conversion if the output file has newer timestamp 668s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 668s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 668s 668s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 668s file. See: http://docs.translatehouse.org/projects/translate- 668s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 668s 668s Options: 668s --version show program's version number and exit 668s -h, --help show this help message and exit 668s --manpage output a manpage based on the help 668s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 668s --errorlevel=ERRORLEVEL 668s show errorlevel as: none, message, exception, 668s traceback 668s -i INPUT, --input=INPUT 668s read from INPUT in po, pot, xlf, xliff formats 668s -x EXCLUDE, --exclude=EXCLUDE 668s exclude names matching EXCLUDE from input paths 668s -o OUTPUT, --output=OUTPUT 668s write to OUTPUT in oo, sdf formats 668s -t TEMPLATE, --template=TEMPLATE 668s read from TEMPLATE in oo, sdf formats 668s -S, --timestamp skip conversion if the output file has newer timestamp 668s -l LANG, --language=LANG 668s set target language code (e.g. af-ZA) [required] 668s --source-language=LANG 668s set source language code (default en-US) 668s -T, --keeptimestamp don't change the timestamps of the strings 668s --nonrecursiveoutput don't treat the output oo as a recursive store 668s --nonrecursivetemplate 668s don't treat the template oo as a recursive store 668s --skipsource don't output the source language, but fallback to it 668s where needed 668s --filteraction=ACTION 668s action on pofilter failure: none (default), warn, 668s exclude-serious, exclude-all 668s --fuzzy use translations marked fuzzy 668s --nofuzzy don't use translations marked fuzzy (default) 668s --multifile=MULTIFILESTYLE 668s how to split po/pot files (single, toplevel or 668s onefile) 668s ========= SMOKE TEST: /usr/bin/xliff2po =========== 668s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 668s 668s Convert XLIFF localization files to Gettext PO localization files. See: 668s http://docs.translatehouse.org/projects/translate- 668s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 668s 668s Options: 668s --version show program's version number and exit 668s -h, --help show this help message and exit 668s --manpage output a manpage based on the help 668s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 668s --errorlevel=ERRORLEVEL 668s show errorlevel as: none, message, exception, 668s traceback 668s -i INPUT, --input=INPUT 668s read from INPUT in xlf, xliff formats 668s -x EXCLUDE, --exclude=EXCLUDE 668s exclude names matching EXCLUDE from input paths 668s -o OUTPUT, --output=OUTPUT 668s write to OUTPUT in po, pot formats 668s -S, --timestamp skip conversion if the output file has newer timestamp 668s -P, --pot output PO Templates (.pot) rather than PO files (.po) 668s --duplicates=DUPLICATESTYLE 668s what to do with duplicate strings (identical source 668s text): merge, msgctxt (default: 'msgctxt') 668s ========= SMOKE TEST: /usr/bin/yaml2po =========== 668s 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] 668s 668s Convert YAML files to Gettext PO localization files. See: 668s http://docs.translatehouse.org/projects/translate- 668s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 668s 668s Options: 668s --version show program's version number and exit 668s -h, --help show this help message and exit 668s --manpage output a manpage based on the help 668s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 668s --errorlevel=ERRORLEVEL 668s show errorlevel as: none, message, exception, 668s traceback 668s -i INPUT, --input=INPUT 668s read from INPUT in yaml, yml formats 668s -x EXCLUDE, --exclude=EXCLUDE 668s exclude names matching EXCLUDE from input paths 668s -o OUTPUT, --output=OUTPUT 668s write to OUTPUT in po, pot formats 668s -t TEMPLATE, --template=TEMPLATE 668s read from TEMPLATE in yaml, yml formats 668s -S, --timestamp skip conversion if the output file has newer timestamp 668s -P, --pot output PO Templates (.pot) rather than PO files (.po) 668s --duplicates=DUPLICATESTYLE 668s what to do with duplicate strings (identical source 668s text): merge, msgctxt (default: 'msgctxt') 669s autopkgtest [10:05:27]: test translate-toolkit: -----------------------] 670s autopkgtest [10:05:28]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 670s translate-toolkit PASS 670s autopkgtest [10:05:28]: test python3-translate: preparing testbed 1453s autopkgtest [10:18:31]: testbed dpkg architecture: s390x 1453s autopkgtest [10:18:31]: testbed apt version: 2.7.14build2 1453s autopkgtest [10:18:31]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1453s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 1454s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 1454s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1705 kB] 1457s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 1457s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 1457s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [185 kB] 1458s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1260 B] 1458s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [1287 kB] 1459s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [21.7 kB] 1459s Fetched 3401 kB in 6s (549 kB/s) 1459s Reading package lists... 1462s Reading package lists... 1463s Building dependency tree... 1463s Reading state information... 1463s Calculating upgrade... 1463s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1463s Reading package lists... 1463s Building dependency tree... 1463s Reading state information... 1464s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1464s Get:1 http://ftpmaster.internal/ubuntu oracular InRelease [64.6 kB] 1464s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 1464s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 1464s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 1464s Get:5 http://ftpmaster.internal/ubuntu oracular/universe Sources [19.8 MB] 1466s Get:6 http://ftpmaster.internal/ubuntu oracular/main Sources [1387 kB] 1466s Get:7 http://ftpmaster.internal/ubuntu oracular/multiverse Sources [300 kB] 1466s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x Packages [1323 kB] 1466s Get:9 http://ftpmaster.internal/ubuntu oracular/universe s390x Packages [14.3 MB] 1466s Get:10 http://ftpmaster.internal/ubuntu oracular/multiverse s390x Packages [168 kB] 1473s Fetched 37.3 MB in 9s (4188 kB/s) 1474s Reading package lists... 1474s Reading package lists... 1475s Building dependency tree... 1475s Reading state information... 1475s Calculating upgrade... 1475s The following packages will be upgraded: 1475s cloud-init ed hdparm hwdata libaio1t64 libdeflate0 libnfnetlink0 1475s libudisks2-0 lsof lto-disabled-list pci.ids udisks2 wpasupplicant 1475s 13 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1475s Need to get 3351 kB of archives. 1475s After this operation, 71.7 kB disk space will be freed. 1475s Get:1 http://ftpmaster.internal/ubuntu oracular/main s390x ed s390x 1.20.2-2 [57.9 kB] 1475s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x hdparm s390x 9.65+ds-1.1 [99.3 kB] 1475s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x libnfnetlink0 s390x 1.0.2-3 [14.8 kB] 1475s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x lsof s390x 4.95.0-1.1 [248 kB] 1475s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x pci.ids all 0.0~2024.04.20-1 [276 kB] 1476s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hwdata all 0.380-1 [29.2 kB] 1476s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libaio1t64 s390x 0.3.113-8 [7210 B] 1476s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libdeflate0 s390x 1.20-1 [45.8 kB] 1476s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x udisks2 s390x 2.10.1-7 [295 kB] 1476s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libudisks2-0 s390x 2.10.1-7 [176 kB] 1476s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x lto-disabled-list all 48 [12.3 kB] 1476s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x wpasupplicant s390x 2:2.10-21.1 [1485 kB] 1476s Get:13 http://ftpmaster.internal/ubuntu oracular/main s390x cloud-init all 24.2~2g51c6569f-0ubuntu1 [606 kB] 1476s Preconfiguring packages ... 1476s Fetched 3351 kB in 1s (4614 kB/s) 1476s (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 ... 54485 files and directories currently installed.) 1476s Preparing to unpack .../00-ed_1.20.2-2_s390x.deb ... 1476s Unpacking ed (1.20.2-2) over (1.20.1-1) ... 1476s Preparing to unpack .../01-hdparm_9.65+ds-1.1_s390x.deb ... 1476s Unpacking hdparm (9.65+ds-1.1) over (9.65+ds-1build1) ... 1476s dpkg: warning: unable to delete old directory '/lib/systemd/system-sleep': Directory not empty 1476s dpkg: warning: unable to delete old directory '/lib/hdparm': Directory not empty 1476s Preparing to unpack .../02-libnfnetlink0_1.0.2-3_s390x.deb ... 1476s Unpacking libnfnetlink0:s390x (1.0.2-3) over (1.0.2-2build1) ... 1476s Preparing to unpack .../03-lsof_4.95.0-1.1_s390x.deb ... 1476s Unpacking lsof (4.95.0-1.1) over (4.95.0-1build3) ... 1476s Preparing to unpack .../04-pci.ids_0.0~2024.04.20-1_all.deb ... 1476s Unpacking pci.ids (0.0~2024.04.20-1) over (0.0~2024.03.31-1) ... 1476s Preparing to unpack .../05-hwdata_0.380-1_all.deb ... 1476s Unpacking hwdata (0.380-1) over (0.379-1) ... 1477s Preparing to unpack .../06-libaio1t64_0.3.113-8_s390x.deb ... 1477s Unpacking libaio1t64:s390x (0.3.113-8) over (0.3.113-6build1) ... 1477s Preparing to unpack .../07-libdeflate0_1.20-1_s390x.deb ... 1477s Unpacking libdeflate0:s390x (1.20-1) over (1.19-1build1) ... 1477s Preparing to unpack .../08-udisks2_2.10.1-7_s390x.deb ... 1477s Unpacking udisks2 (2.10.1-7) over (2.10.1-6build1) ... 1477s Preparing to unpack .../09-libudisks2-0_2.10.1-7_s390x.deb ... 1477s Unpacking libudisks2-0:s390x (2.10.1-7) over (2.10.1-6build1) ... 1477s Preparing to unpack .../10-lto-disabled-list_48_all.deb ... 1477s Unpacking lto-disabled-list (48) over (47) ... 1477s Preparing to unpack .../11-wpasupplicant_2%3a2.10-21.1_s390x.deb ... 1477s Unpacking wpasupplicant (2:2.10-21.1) over (2:2.10-21build4) ... 1477s Preparing to unpack .../12-cloud-init_24.2~2g51c6569f-0ubuntu1_all.deb ... 1477s Unpacking cloud-init (24.2~2g51c6569f-0ubuntu1) over (24.1.3-0ubuntu3) ... 1477s Setting up lto-disabled-list (48) ... 1477s Setting up pci.ids (0.0~2024.04.20-1) ... 1477s Setting up cloud-init (24.2~2g51c6569f-0ubuntu1) ... 1477s Installing new version of config file /etc/cloud/templates/sources.list.ubuntu.deb822.tmpl ... 1479s Setting up libdeflate0:s390x (1.20-1) ... 1479s Setting up hdparm (9.65+ds-1.1) ... 1479s Installing new version of config file /etc/hdparm.conf ... 1479s Setting up hwdata (0.380-1) ... 1479s Setting up wpasupplicant (2:2.10-21.1) ... 1479s Setting up ed (1.20.2-2) ... 1479s Setting up lsof (4.95.0-1.1) ... 1479s Setting up libaio1t64:s390x (0.3.113-8) ... 1479s Setting up libnfnetlink0:s390x (1.0.2-3) ... 1479s Setting up libudisks2-0:s390x (2.10.1-7) ... 1479s Setting up udisks2 (2.10.1-7) ... 1480s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 1480s Processing triggers for man-db (2.12.0-4build2) ... 1481s Processing triggers for dbus (1.14.10-4ubuntu4) ... 1481s Processing triggers for install-info (7.1-3build2) ... 1481s Processing triggers for libc-bin (2.39-0ubuntu8) ... 1482s Reading package lists... 1482s Building dependency tree... 1482s Reading state information... 1482s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1482s autopkgtest [10:19:00]: rebooting testbed after setup commands that affected boot 1487s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 1520s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 1531s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 1542s Reading package lists... 1542s Building dependency tree... 1542s Reading state information... 1542s Starting pkgProblemResolver with broken count: 0 1542s Starting 2 pkgProblemResolver with broken count: 0 1542s Done 1543s The following additional packages will be installed: 1543s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 1543s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 1543s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 1543s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 1543s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 1543s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 1543s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 1543s python3-pytest python3-rapidfuzz python3-ruamel.yaml 1543s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 1543s python3-translate python3-vobject python3-xapian subversion 1543s Suggested packages: 1543s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 1543s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 1543s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 1543s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 1543s libapache2-mod-svn subversion-tools 1543s Recommended packages: 1543s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 1543s python3-cssselect python3-html5lib 1543s The following NEW packages will be installed: 1543s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 1543s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 1543s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 1543s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 1543s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 1543s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 1543s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 1543s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 1543s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 1543s python3-translate python3-vobject python3-xapian subversion 1543s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 1543s Need to get 11.2 MB/11.2 MB of archives. 1543s After this operation, 48.9 MB of additional disk space will be used. 1543s Get:1 /tmp/autopkgtest.5bLzjc/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [876 B] 1543s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 1543s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 1543s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14-20240412-0ubuntu1 [151 kB] 1543s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.21-14ubuntu2 [915 kB] 1543s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 1543s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.1build2 [115 kB] 1543s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-1.1ubuntu7 [99.6 kB] 1543s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 1543s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 1543s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 1544s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 1544s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-1build2 [50.7 kB] 1544s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 1544s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-1build4 [1391 kB] 1544s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 1544s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 1544s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.11-2 [221 kB] 1544s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-all s390x 3.12.3-0ubuntu1 [890 B] 1544s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 1544s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 1544s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 1544s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 1544s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 1544s Get:25 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 1544s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 1544s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 1544s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-1 [1498 kB] 1544s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-2 [188 kB] 1544s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.1-1 [1300 kB] 1544s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 1544s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-packaging all 24.0-1 [41.1 kB] 1544s Get:33 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 1544s Get:34 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 1544s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pluggy all 1.4.0-1 [20.4 kB] 1544s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pytest all 7.4.4-1 [305 kB] 1544s Get:37 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 1544s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 1544s Get:39 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 1544s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 1544s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.12.2-1ubuntu1 [318 kB] 1544s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 1544s Get:43 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-xapian s390x 1.4.25-1 [428 kB] 1544s Get:44 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-1build4 [912 kB] 1544s Get:45 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 1544s Get:46 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 1544s Preconfiguring packages ... 1545s Fetched 11.2 MB in 1s (9308 kB/s) 1545s Selecting previously unselected package emacsen-common. 1545s (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 ... 54491 files and directories currently installed.) 1545s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 1545s Unpacking emacsen-common (3.0.5) ... 1545s Selecting previously unselected package dictionaries-common. 1545s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 1545s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 1545s Unpacking dictionaries-common (1.29.7) ... 1545s Selecting previously unselected package libgomp1:s390x. 1545s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_s390x.deb ... 1545s Unpacking libgomp1:s390x (14-20240412-0ubuntu1) ... 1545s Selecting previously unselected package gettext. 1545s Preparing to unpack .../03-gettext_0.21-14ubuntu2_s390x.deb ... 1545s Unpacking gettext (0.21-14ubuntu2) ... 1545s Selecting previously unselected package hunspell-en-us. 1545s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 1545s Unpacking hunspell-en-us (1:2020.12.07-2) ... 1545s Selecting previously unselected package libapr1t64:s390x. 1545s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_s390x.deb ... 1545s Unpacking libapr1t64:s390x (1.7.2-3.1build2) ... 1545s Selecting previously unselected package libaprutil1t64:s390x. 1545s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_s390x.deb ... 1545s Unpacking libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 1545s Selecting previously unselected package libaspell15:s390x. 1545s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 1545s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 1545s Selecting previously unselected package libhunspell-1.7-0:s390x. 1545s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 1545s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 1545s Selecting previously unselected package libenchant-2-2:s390x. 1545s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 1545s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 1545s Selecting previously unselected package libexttextcat-data. 1545s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 1545s Unpacking libexttextcat-data (3.4.7-1build1) ... 1545s Selecting previously unselected package libserf-1-1:s390x. 1545s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_s390x.deb ... 1545s Unpacking libserf-1-1:s390x (1.3.10-1build2) ... 1545s Selecting previously unselected package libutf8proc3:s390x. 1545s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 1545s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 1545s Selecting previously unselected package libsvn1:s390x. 1545s Preparing to unpack .../13-libsvn1_1.14.3-1build4_s390x.deb ... 1545s Unpacking libsvn1:s390x (1.14.3-1build4) ... 1545s Selecting previously unselected package libxapian30:s390x. 1545s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 1545s Unpacking libxapian30:s390x (1.4.22-1build1) ... 1545s Selecting previously unselected package libxslt1.1:s390x. 1545s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 1545s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 1545s Selecting previously unselected package python3-aeidon. 1545s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 1545s Unpacking python3-aeidon (1.11-2) ... 1545s Selecting previously unselected package python3-all. 1545s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_s390x.deb ... 1545s Unpacking python3-all (3.12.3-0ubuntu1) ... 1545s Selecting previously unselected package python3-soupsieve. 1545s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 1545s Unpacking python3-soupsieve (2.5-1) ... 1545s Selecting previously unselected package python3-bs4. 1545s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 1545s Unpacking python3-bs4 (4.12.3-1) ... 1545s Selecting previously unselected package python3-jaraco.functools. 1545s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 1545s Unpacking python3-jaraco.functools (4.0.0-1) ... 1545s Selecting previously unselected package python3-cheroot. 1545s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 1545s Unpacking python3-cheroot (10.0.0+ds1-2) ... 1545s Selecting previously unselected package python3-dateutil. 1545s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 1545s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 1545s Selecting previously unselected package python3-diff-match-patch. 1545s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 1545s Unpacking python3-diff-match-patch (20230430-1) ... 1545s Selecting previously unselected package python3-enchant. 1545s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 1545s Unpacking python3-enchant (3.2.2-1) ... 1545s Selecting previously unselected package python3-iniconfig. 1545s Preparing to unpack .../25-python3-iniconfig_1.1.1-2_all.deb ... 1545s Unpacking python3-iniconfig (1.1.1-2) ... 1545s Selecting previously unselected package python3-rapidfuzz. 1545s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-1_s390x.deb ... 1545s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 1545s Selecting previously unselected package python3-levenshtein. 1545s Preparing to unpack .../27-python3-levenshtein_0.25.1-2_s390x.deb ... 1545s Unpacking python3-levenshtein (0.25.1-2) ... 1545s Selecting previously unselected package python3-lxml:s390x. 1545s Preparing to unpack .../28-python3-lxml_5.2.1-1_s390x.deb ... 1545s Unpacking python3-lxml:s390x (5.2.1-1) ... 1545s Selecting previously unselected package python3-mistletoe. 1545s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 1545s Unpacking python3-mistletoe (1.3.0-1) ... 1545s Selecting previously unselected package python3-packaging. 1545s Preparing to unpack .../30-python3-packaging_24.0-1_all.deb ... 1545s Unpacking python3-packaging (24.0-1) ... 1545s Selecting previously unselected package python3-ply. 1545s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 1545s Unpacking python3-ply (3.11-6) ... 1545s Selecting previously unselected package python3-phply. 1545s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 1545s Unpacking python3-phply (1.2.6-1) ... 1546s Selecting previously unselected package python3-pluggy. 1546s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 1546s Unpacking python3-pluggy (1.4.0-1) ... 1546s Selecting previously unselected package python3-pytest. 1546s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 1546s Unpacking python3-pytest (7.4.4-1) ... 1546s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 1546s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 1546s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 1546s Selecting previously unselected package python3-ruamel.yaml. 1546s Preparing to unpack .../36-python3-ruamel.yaml_0.17.21-1_all.deb ... 1546s Unpacking python3-ruamel.yaml (0.17.21-1) ... 1546s Selecting previously unselected package python3-simplejson. 1546s Preparing to unpack .../37-python3-simplejson_3.19.2-1build2_s390x.deb ... 1546s Unpacking python3-simplejson (3.19.2-1build2) ... 1546s Selecting previously unselected package python3-syrupy. 1546s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 1546s Unpacking python3-syrupy (4.6.1-1) ... 1546s Selecting previously unselected package python3-translate. 1546s Preparing to unpack .../39-python3-translate_3.12.2-1ubuntu1_all.deb ... 1546s Unpacking python3-translate (3.12.2-1ubuntu1) ... 1546s Selecting previously unselected package python3-vobject. 1546s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 1546s Unpacking python3-vobject (0.9.6.1-2) ... 1546s Selecting previously unselected package python3-xapian. 1546s Preparing to unpack .../41-python3-xapian_1.4.25-1_s390x.deb ... 1546s Unpacking python3-xapian (1.4.25-1) ... 1546s Selecting previously unselected package subversion. 1546s Preparing to unpack .../42-subversion_1.14.3-1build4_s390x.deb ... 1546s Unpacking subversion (1.14.3-1build4) ... 1546s Selecting previously unselected package python3-iniparse. 1546s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 1546s Unpacking python3-iniparse (0.5-2) ... 1546s Selecting previously unselected package python3-pycountry. 1546s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 1546s Unpacking python3-pycountry (23.12.11+ds1-2) ... 1546s Selecting previously unselected package autopkgtest-satdep. 1546s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 1546s Unpacking autopkgtest-satdep (0) ... 1546s Setting up python3-iniconfig (1.1.1-2) ... 1546s Setting up libxapian30:s390x (1.4.22-1build1) ... 1546s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 1546s Setting up python3-diff-match-patch (20230430-1) ... 1547s Setting up python3-jaraco.functools (4.0.0-1) ... 1547s Setting up python3-aeidon (1.11-2) ... 1547s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 1547s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 1547s Setting up python3-ply (3.11-6) ... 1547s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 1547s Setting up python3-all (3.12.3-0ubuntu1) ... 1547s Setting up libgomp1:s390x (14-20240412-0ubuntu1) ... 1547s Setting up python3-simplejson (3.19.2-1build2) ... 1548s Setting up python3-packaging (24.0-1) ... 1548s Setting up emacsen-common (3.0.5) ... 1548s Setting up python3-cheroot (10.0.0+ds1-2) ... 1548s Setting up python3-pycountry (23.12.11+ds1-2) ... 1548s Setting up python3-xapian (1.4.25-1) ... 1548s Setting up python3-pluggy (1.4.0-1) ... 1549s Setting up python3-ruamel.yaml (0.17.21-1) ... 1549s Setting up python3-mistletoe (1.3.0-1) ... 1549s Setting up libexttextcat-data (3.4.7-1build1) ... 1549s Setting up libapr1t64:s390x (1.7.2-3.1build2) ... 1549s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 1549s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 1549s Setting up python3-levenshtein (0.25.1-2) ... 1550s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 1550s Setting up python3-soupsieve (2.5-1) ... 1550s Setting up python3-iniparse (0.5-2) ... 1550s Setting up libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 1550s Setting up python3-vobject (0.9.6.1-2) ... 1550s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 1550s patterns['name'] = '[a-zA-Z0-9\-_]+' 1550s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 1550s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1550s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 1550s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1550s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 1550s """ 1550s Setting up gettext (0.21-14ubuntu2) ... 1550s Setting up python3-phply (1.2.6-1) ... 1551s Setting up dictionaries-common (1.29.7) ... 1551s Setting up python3-pytest (7.4.4-1) ... 1552s Setting up python3-syrupy (4.6.1-1) ... 1552s Setting up libserf-1-1:s390x (1.3.10-1build2) ... 1552s Setting up python3-bs4 (4.12.3-1) ... 1552s Setting up python3-lxml:s390x (5.2.1-1) ... 1553s Setting up hunspell-en-us (1:2020.12.07-2) ... 1553s Setting up libsvn1:s390x (1.14.3-1build4) ... 1553s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 1553s Setting up subversion (1.14.3-1build4) ... 1553s Setting up python3-enchant (3.2.2-1) ... 1553s Setting up python3-translate (3.12.2-1ubuntu1) ... 1554s Setting up autopkgtest-satdep (0) ... 1554s Processing triggers for man-db (2.12.0-4build2) ... 1555s Processing triggers for install-info (7.1-3build2) ... 1555s Processing triggers for libc-bin (2.39-0ubuntu8) ... 1555s Processing triggers for dictionaries-common (1.29.7) ... 1558s (Reading database ... 57932 files and directories currently installed.) 1558s Removing autopkgtest-satdep (0) ... 1565s autopkgtest [10:20:23]: test python3-translate: [----------------------- 1565s ============================= test session starts ============================== 1565s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 1565s cachedir: .pytest_cache 1565s rootdir: /tmp/autopkgtest.5bLzjc/autopkgtest_tmp 1565s plugins: syrupy-4.6.1 1573s collecting ... collected 3313 items / 2 skipped 1573s 1573s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1573s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1573s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1573s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1573s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1573s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1573s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1573s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1574s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1574s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1574s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1574s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1574s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1574s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1574s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1574s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1574s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1574s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1574s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1574s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1574s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1574s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1574s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1574s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1574s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1574s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1574s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1574s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1574s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1574s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1575s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1575s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1575s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1575s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1575s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1575s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1575s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1575s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1575s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1575s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1575s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1575s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1575s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1575s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1575s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1575s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1575s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1575s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1575s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1575s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1576s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1576s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 1576s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 1576s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 1576s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1576s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 1576s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1576s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 1576s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1576s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1576s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1576s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1576s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1576s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1576s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1576s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1577s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1577s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1577s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1577s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1577s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 1577s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1577s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1577s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1577s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1577s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1577s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 1577s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 1577s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 1577s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 1577s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1577s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1577s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 1577s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 1577s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 1577s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1578s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1578s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1578s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1578s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1578s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1578s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1578s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1578s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1578s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1578s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1578s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1578s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1578s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1578s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1578s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1578s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1578s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1578s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1578s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1578s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1578s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1578s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1578s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1578s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1578s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1578s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 1578s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 1578s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1578s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1578s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1578s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1578s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1578s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1578s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1578s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1579s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1579s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1579s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1579s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1579s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1579s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1579s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1579s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1579s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1579s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 1579s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 1579s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 1579s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 1579s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 1579s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1579s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1579s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1579s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1579s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1579s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1579s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1579s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1579s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1579s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1579s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1579s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1579s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1579s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1579s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1579s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1579s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1579s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1579s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1579s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1579s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1579s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1579s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1579s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1579s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1579s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1579s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 1579s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1579s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1579s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1579s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1579s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1579s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1579s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1579s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1579s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1580s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1580s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1580s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1580s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1580s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 1580s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 1580s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 1580s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1580s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 1580s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 1580s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1580s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 1580s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1580s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1580s 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%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1580s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1580s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1580s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 1580s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 1580s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 1580s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1580s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 1581s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 1581s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1581s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1581s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1581s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1581s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1582s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 1582s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 1582s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 1582s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 1582s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 1582s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 1582s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 1582s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1582s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1583s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 1583s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1583s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1583s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1584s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1584s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1584s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1584s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1584s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 1584s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1584s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1584s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1584s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1584s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1584s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1584s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1584s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 1584s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1584s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1584s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1584s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1584s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1586s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1586s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1586s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1586s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1586s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1586s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 1586s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1586s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1586s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1586s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1586s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1586s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1586s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1586s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1586s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1586s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1586s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 1586s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 1586s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 1586s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 1586s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 1586s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 1586s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1586s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1586s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1586s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1586s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1586s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1586s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1586s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1586s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1586s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1586s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1587s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1587s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1587s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1587s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1587s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1587s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1587s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1587s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1587s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1587s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1587s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1587s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1587s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1587s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1587s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 1587s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 1587s 1587s =============================== warnings summary =============================== 1587s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1587s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1587s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1587s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1587s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1587s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1587s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1587s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1587s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1587s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1587s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1587s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1587s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1587s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1587s Warning: Could not find accesskey for key.accesskey 1587s 1587s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1587s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1587s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1587s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1587s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1587s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/translate/convert/test.idml'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1587s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1587s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1587s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1587s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1587s Warning: Could not find accesskey for prop.accesskey 1587s 1587s tests/translate/convert/test_po2tmx.py: 26 warnings 1587s tests/translate/filters/test_pofilter.py: 13 warnings 1587s tests/translate/storage/test_tbx.py: 17 warnings 1587s tests/translate/storage/test_tmx.py: 24 warnings 1587s 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' 1587s 1587s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1587s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1587s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1587s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1587s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1587s Enable tracemalloc to get traceback where the object was allocated. 1587s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1587s 1588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1588s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1588s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1588s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1588s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1588s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1588s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1588s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1588s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/translate/convert/test.odt'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1588s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1588s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1588s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1588s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1588s Enable tracemalloc to get traceback where the object was allocated. 1588s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1588s 1588s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1588s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1588s 1588s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1588s Warning: DTD file '' does not validate 1588s 1588s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1588s --------------------------- snapshot report summary ---------------------------- 1588s 23 snapshots passed. 1588s =========================== short test summary info ============================ 1588s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1588s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1588s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1588s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 1588s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 1588s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 1588s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 1588s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1588s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1588s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1588s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1588s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1588s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1588s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1588s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1588s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1588s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1588s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1588s 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. 1588s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1588s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1588s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1588s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1588s 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 1588s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1588s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1588s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1588s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1588s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1588s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1588s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1588s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1588s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1588s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1588s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1588s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1588s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 22.59s ========== 1588s autopkgtest [10:20:46]: test python3-translate: -----------------------] 1589s python3-translate PASS 1589s autopkgtest [10:20:47]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 1589s autopkgtest [10:20:47]: test python3-translate-commands: preparing testbed 1591s Reading package lists... 1591s Building dependency tree... 1591s Reading state information... 1592s Starting pkgProblemResolver with broken count: 0 1592s Starting 2 pkgProblemResolver with broken count: 0 1592s Done 1592s The following additional packages will be installed: 1592s translate-toolkit 1592s Recommended packages: 1592s translate-toolkit-doc 1592s The following NEW packages will be installed: 1592s autopkgtest-satdep translate-toolkit 1592s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 1592s Need to get 88.2 kB/89.1 kB of archives. 1592s After this operation, 253 kB of additional disk space will be used. 1592s Get:1 /tmp/autopkgtest.5bLzjc/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [884 B] 1592s Get:2 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 1593s Fetched 88.2 kB in 0s (290 kB/s) 1593s Selecting previously unselected package translate-toolkit. 1593s (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 ... 57932 files and directories currently installed.) 1593s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 1593s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 1593s Selecting previously unselected package autopkgtest-satdep. 1593s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1593s Unpacking autopkgtest-satdep (0) ... 1593s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 1593s Setting up autopkgtest-satdep (0) ... 1593s Processing triggers for man-db (2.12.0-4build2) ... 1596s (Reading database ... 58105 files and directories currently installed.) 1596s Removing autopkgtest-satdep (0) ... 1597s autopkgtest [10:20:55]: test python3-translate-commands: [----------------------- 1598s ============================= test session starts ============================== 1598s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 1598s cachedir: .pytest_cache 1598s rootdir: /tmp/autopkgtest.5bLzjc/autopkgtest_tmp 1598s plugins: syrupy-4.6.1 1605s collecting ... collected 3313 items / 2 skipped 1605s 1605s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1605s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1605s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1605s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1605s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1605s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1605s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1605s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1605s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1605s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1605s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1605s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1605s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1605s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1605s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1605s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1605s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1605s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1605s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1605s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1605s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1605s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1605s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1605s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1605s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1605s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1605s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1606s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1606s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1606s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1606s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1606s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1606s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1606s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1606s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1606s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1606s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1606s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1606s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1606s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1606s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1606s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1606s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1606s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1606s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1606s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1606s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1606s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1607s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1607s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1607s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1607s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1607s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1607s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 1607s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 1607s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 1607s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1607s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 1607s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1607s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 1607s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1607s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1607s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1607s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1607s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1607s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1607s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1607s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1608s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1608s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1608s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1608s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1608s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 1608s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1608s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1608s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1608s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1608s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1608s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 1608s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 1608s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 1608s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 1608s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1608s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1608s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1609s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1609s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1609s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1609s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1609s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1609s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1609s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1609s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1609s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1609s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1609s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1609s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1609s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1609s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1609s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1609s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1609s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1609s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1609s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1609s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1609s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1609s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1609s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1609s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1609s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1609s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1609s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1609s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 1609s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 1609s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1609s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1609s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1609s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1609s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1609s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1609s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1609s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1609s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1609s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1609s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 1609s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 1609s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 1609s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 1609s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 1609s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1609s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1609s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1609s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1609s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1609s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1609s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1609s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1609s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1609s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1609s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1609s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1609s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1609s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1609s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1609s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1609s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1609s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1609s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1609s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1609s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1609s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1609s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1609s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1609s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1609s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1610s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 1610s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1610s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1610s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1610s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1610s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1610s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1610s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1610s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1610s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1610s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1610s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1610s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1610s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 1610s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 1610s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 1610s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1610s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 1610s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1610s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 1611s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1611s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 1611s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1611s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1611s 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%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1611s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1611s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1611s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 1611s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 1611s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 1611s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 1611s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 1611s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1611s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1612s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1612s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1612s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1612s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1612s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1612s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1613s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 1613s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 1613s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 1613s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 1613s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 1613s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 1613s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 1613s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1613s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1614s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1614s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1614s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 1614s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1614s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1614s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1614s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1614s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 1614s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1614s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1614s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1614s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1614s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1614s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1614s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1614s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 1614s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1614s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 1614s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 1615s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1615s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1615s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1615s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1616s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1617s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1617s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1617s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 1617s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1617s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1617s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1617s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1617s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1617s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1617s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1617s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1617s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 1617s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 1618s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 1618s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 1618s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 1618s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 1618s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 1618s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 1618s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 1618s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1618s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1618s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1618s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1618s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1618s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1618s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1619s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1619s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1619s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1619s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1619s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1619s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1619s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1619s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1619s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1619s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1619s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 1619s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 1619s 1619s =============================== warnings summary =============================== 1619s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1619s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1619s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1619s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1619s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1619s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1619s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1619s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1619s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1619s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1619s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1619s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1619s Warning: Could not find accesskey for key.accesskey 1619s 1619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1619s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1619s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1619s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/translate/convert/test.idml'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1619s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1619s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1619s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1619s Warning: Could not find accesskey for prop.accesskey 1619s 1619s tests/translate/convert/test_po2tmx.py: 26 warnings 1619s tests/translate/filters/test_pofilter.py: 13 warnings 1619s tests/translate/storage/test_tbx.py: 17 warnings 1619s tests/translate/storage/test_tmx.py: 24 warnings 1619s 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' 1619s 1619s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1619s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1619s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1619s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1619s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1619s Enable tracemalloc to get traceback where the object was allocated. 1619s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1619s 1620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1620s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1620s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.5bLzjc/autopkgtest_tmp/tests/translate/convert/test.odt'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1620s Enable tracemalloc to get traceback where the object was allocated. 1620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1620s 1620s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1620s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1620s 1620s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1620s Warning: DTD file '' does not validate 1620s 1620s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1620s --------------------------- snapshot report summary ---------------------------- 1620s 23 snapshots passed. 1620s =========================== short test summary info ============================ 1620s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1620s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1620s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1620s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1620s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1620s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1620s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1620s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1620s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1620s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1620s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1620s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1620s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1620s 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. 1620s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1620s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1620s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1620s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1620s 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 1620s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1620s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1620s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1620s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1620s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1620s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1620s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1620s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1620s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 21.88s ========== 1620s autopkgtest [10:21:18]: test python3-translate-commands: -----------------------] 1621s python3-translate-commands PASS 1621s autopkgtest [10:21:19]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 1621s autopkgtest [10:21:19]: @@@@@@@@@@@@@@@@@@@@ summary 1621s translate-toolkit PASS 1621s python3-translate PASS 1621s python3-translate-commands PASS 1653s Creating nova instance adt-oracular-s390x-translate-toolkit-20240505-095418-juju-7f2275-prod-proposed-migration-environment-2-691978ea-0985-4bcf-83ed-ea742ade918d from image adt/ubuntu-oracular-s390x-server-20240503.img (UUID da6d6f19-1276-4af6-9931-3748b2b85f34)... 1653s Creating nova instance adt-oracular-s390x-translate-toolkit-20240505-095418-juju-7f2275-prod-proposed-migration-environment-2-691978ea-0985-4bcf-83ed-ea742ade918d from image adt/ubuntu-oracular-s390x-server-20240503.img (UUID da6d6f19-1276-4af6-9931-3748b2b85f34)...