0s autopkgtest [06:10:46]: starting date and time: 2024-03-24 06:10:46+0000 0s autopkgtest [06:10:46]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [06:10:46]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.e47mdrog/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:sphinx --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos01-arm64-13.secgroup --name adt-noble-arm64-translate-toolkit-20240324-061046-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-arm64-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,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/ 149s autopkgtest [06:13:15]: testbed dpkg architecture: arm64 149s autopkgtest [06:13:15]: testbed apt version: 2.7.12 149s autopkgtest [06:13:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 150s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 151s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 151s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 151s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4009 kB] 153s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 153s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 153s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 153s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 153s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 153s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 153s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 153s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 153s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 159s Fetched 9865 kB in 4s (2546 kB/s) 160s Reading package lists... 164s Reading package lists... 165s Building dependency tree... 165s Reading state information... 166s Calculating upgrade... 167s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 168s Reading package lists... 168s Building dependency tree... 168s Reading state information... 170s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 171s sh: Attempting to set up Debian/Ubuntu apt sources automatically 171s sh: Distribution appears to be Ubuntu 173s Reading package lists... 173s Building dependency tree... 173s Reading state information... 175s eatmydata is already the newest version (131-1). 175s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 175s Reading package lists... 175s Building dependency tree... 175s Reading state information... 177s dbus is already the newest version (1.14.10-4ubuntu1). 177s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 177s Reading package lists... 177s Building dependency tree... 177s Reading state information... 179s rng-tools-debian is already the newest version (2.4). 179s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 179s Reading package lists... 179s Building dependency tree... 179s Reading state information... 181s The following packages will be REMOVED: 181s cloud-init* python3-configobj* python3-debconf* 182s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 182s After this operation, 3256 kB disk space will be freed. 182s (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 ... 75911 files and directories currently installed.) 182s Removing cloud-init (24.1.2-0ubuntu1) ... 183s Removing python3-configobj (5.0.8-3) ... 183s Removing python3-debconf (1.5.86) ... 184s Processing triggers for man-db (2.12.0-3) ... 184s (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 ... 75522 files and directories currently installed.) 184s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 186s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 186s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 186s invoke-rc.d: policy-rc.d denied execution of try-restart. 187s Reading package lists... 187s Building dependency tree... 187s Reading state information... 189s linux-generic is already the newest version (6.8.0-11.11+1). 189s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 189s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 189s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 189s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 196s Reading package lists... 196s Reading package lists... 197s Building dependency tree... 197s Reading state information... 198s Calculating upgrade... 199s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 199s Reading package lists... 199s Building dependency tree... 199s Reading state information... 201s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 201s autopkgtest [06:14:07]: rebooting testbed after setup commands that affected boot 369s autopkgtest [06:16:55]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 373s autopkgtest [06:16:59]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 377s Get:1 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (dsc) [3065 B] 377s Get:2 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (tar) [1203 kB] 377s Get:3 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (diff) [24.3 kB] 377s gpgv: Signature made Sun Feb 18 05:01:57 2024 UTC 377s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 377s gpgv: Can't check signature: No public key 377s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1.dsc: no acceptable signature found 377s autopkgtest [06:17:03]: testing package translate-toolkit version 3.12.2-1 378s autopkgtest [06:17:04]: build not needed 381s autopkgtest [06:17:07]: test translate-toolkit: preparing testbed 390s Reading package lists... 390s Building dependency tree... 390s Reading state information... 391s Starting pkgProblemResolver with broken count: 0 391s Starting 2 pkgProblemResolver with broken count: 0 391s Done 393s The following additional packages will be installed: 393s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 393s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 393s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 393s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 393s python3-diff-match-patch python3-enchant python3-iniparse 393s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 393s python3-more-itertools python3-phply python3-ply python3-pycountry 393s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 393s python3-soupsieve python3-translate python3-vobject python3-xapian 393s subversion translate-toolkit 393s Suggested packages: 393s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 393s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 393s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 393s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 393s libapache2-mod-svn subversion-tools 393s Recommended packages: 393s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 393s python3-cssselect python3-html5lib translate-toolkit-doc 393s The following NEW packages will be installed: 393s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 393s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 393s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 393s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 393s python3-diff-match-patch python3-enchant python3-iniparse 393s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 393s python3-more-itertools python3-phply python3-ply python3-pycountry 393s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 393s python3-soupsieve python3-translate python3-vobject python3-xapian 393s subversion translate-toolkit 393s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 393s Need to get 10.0 MB/10.0 MB of archives. 393s After this operation, 46.4 MB of additional disk space will be used. 393s Get:1 /tmp/autopkgtest.c8pha2/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [868 B] 393s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 emacsen-common all 3.0.5 [12.1 kB] 393s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 dictionaries-common all 1.29.7 [188 kB] 393s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 393s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 gettext arm64 0.21-14ubuntu1 [846 kB] 394s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 394s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 libapr1 arm64 1.7.2-3 [103 kB] 394s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libaprutil1 arm64 1.6.3-1ubuntu1 [91.7 kB] 394s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libaspell15 arm64 0.60.8.1-1 [391 kB] 394s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10 [272 kB] 394s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libenchant-2-2 arm64 2.3.3-2 [49.4 kB] 394s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libexttextcat-data all 3.4.7-1 [235 kB] 394s Get:13 http://ftpmaster.internal/ubuntu noble/universe arm64 libserf-1-1 arm64 1.3.10-1 [47.5 kB] 394s Get:14 http://ftpmaster.internal/ubuntu noble/universe arm64 libutf8proc3 arm64 2.9.0-1 [70.8 kB] 394s Get:15 http://ftpmaster.internal/ubuntu noble/universe arm64 libsvn1 arm64 1.14.3-1build2 [1339 kB] 394s Get:16 http://ftpmaster.internal/ubuntu noble/universe arm64 libxapian30 arm64 1.4.22-1 [651 kB] 394s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 394s Get:18 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-aeidon all 1.11-2 [221 kB] 394s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 394s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 394s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 394s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 394s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 394s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 394s Get:25 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 394s Get:26 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 394s Get:27 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-levenshtein arm64 0.12.2-3 [38.2 kB] 394s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 python3-lxml arm64 5.1.0-1 [2042 kB] 394s Get:29 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 394s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 python3-ply all 3.11-6 [46.5 kB] 394s Get:31 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 394s Get:32 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1 [187 kB] 394s Get:33 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 394s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 python3-simplejson arm64 3.19.2-1build1 [61.4 kB] 394s Get:35 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-translate all 3.12.2-1 [317 kB] 394s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 394s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-xapian arm64 1.4.22-1build2 [522 kB] 394s Get:38 http://ftpmaster.internal/ubuntu noble/universe arm64 subversion arm64 1.14.3-1build2 [906 kB] 395s Get:39 http://ftpmaster.internal/ubuntu noble/universe arm64 translate-toolkit all 3.12.2-1 [88.2 kB] 395s Get:40 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 395s Get:41 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 395s Preconfiguring packages ... 396s Fetched 10.0 MB in 2s (5854 kB/s) 396s Selecting previously unselected package emacsen-common. 396s (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 ... 75467 files and directories currently installed.) 396s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 396s Unpacking emacsen-common (3.0.5) ... 396s Selecting previously unselected package dictionaries-common. 396s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 396s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 396s Unpacking dictionaries-common (1.29.7) ... 396s Selecting previously unselected package libgomp1:arm64. 396s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 396s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 396s Selecting previously unselected package gettext. 396s Preparing to unpack .../03-gettext_0.21-14ubuntu1_arm64.deb ... 396s Unpacking gettext (0.21-14ubuntu1) ... 396s Selecting previously unselected package hunspell-en-us. 396s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 396s Unpacking hunspell-en-us (1:2020.12.07-2) ... 396s Selecting previously unselected package libapr1:arm64. 396s Preparing to unpack .../05-libapr1_1.7.2-3_arm64.deb ... 396s Unpacking libapr1:arm64 (1.7.2-3) ... 396s Selecting previously unselected package libaprutil1:arm64. 396s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_arm64.deb ... 396s Unpacking libaprutil1:arm64 (1.6.3-1ubuntu1) ... 396s Selecting previously unselected package libaspell15:arm64. 396s Preparing to unpack .../07-libaspell15_0.60.8.1-1_arm64.deb ... 396s Unpacking libaspell15:arm64 (0.60.8.1-1) ... 397s Selecting previously unselected package libhunspell-1.7-0:arm64. 397s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_arm64.deb ... 397s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10) ... 397s Selecting previously unselected package libenchant-2-2:arm64. 397s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_arm64.deb ... 397s Unpacking libenchant-2-2:arm64 (2.3.3-2) ... 397s Selecting previously unselected package libexttextcat-data. 397s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 397s Unpacking libexttextcat-data (3.4.7-1) ... 397s Selecting previously unselected package libserf-1-1:arm64. 397s Preparing to unpack .../11-libserf-1-1_1.3.10-1_arm64.deb ... 397s Unpacking libserf-1-1:arm64 (1.3.10-1) ... 397s Selecting previously unselected package libutf8proc3:arm64. 397s Preparing to unpack .../12-libutf8proc3_2.9.0-1_arm64.deb ... 397s Unpacking libutf8proc3:arm64 (2.9.0-1) ... 397s Selecting previously unselected package libsvn1:arm64. 397s Preparing to unpack .../13-libsvn1_1.14.3-1build2_arm64.deb ... 397s Unpacking libsvn1:arm64 (1.14.3-1build2) ... 397s Selecting previously unselected package libxapian30:arm64. 397s Preparing to unpack .../14-libxapian30_1.4.22-1_arm64.deb ... 397s Unpacking libxapian30:arm64 (1.4.22-1) ... 397s Selecting previously unselected package libxslt1.1:arm64. 397s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1_arm64.deb ... 397s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 397s Selecting previously unselected package python3-aeidon. 397s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 397s Unpacking python3-aeidon (1.11-2) ... 397s Selecting previously unselected package python3-soupsieve. 397s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 397s Unpacking python3-soupsieve (2.5-1) ... 397s Selecting previously unselected package python3-bs4. 397s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 397s Unpacking python3-bs4 (4.12.3-1) ... 397s Selecting previously unselected package python3-more-itertools. 397s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 397s Unpacking python3-more-itertools (10.2.0-1) ... 397s Selecting previously unselected package python3-jaraco.functools. 397s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 397s Unpacking python3-jaraco.functools (4.0.0-1) ... 398s Selecting previously unselected package python3-cheroot. 398s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-1_all.deb ... 398s Unpacking python3-cheroot (10.0.0+ds1-1) ... 398s Selecting previously unselected package python3-dateutil. 398s Preparing to unpack .../22-python3-dateutil_2.8.2-3_all.deb ... 398s Unpacking python3-dateutil (2.8.2-3) ... 398s Selecting previously unselected package python3-diff-match-patch. 398s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 398s Unpacking python3-diff-match-patch (20230430-1) ... 398s Selecting previously unselected package python3-enchant. 398s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 398s Unpacking python3-enchant (3.2.2-1) ... 398s Selecting previously unselected package python3-levenshtein. 398s Preparing to unpack .../25-python3-levenshtein_0.12.2-3_arm64.deb ... 398s Unpacking python3-levenshtein (0.12.2-3) ... 398s Selecting previously unselected package python3-lxml:arm64. 398s Preparing to unpack .../26-python3-lxml_5.1.0-1_arm64.deb ... 398s Unpacking python3-lxml:arm64 (5.1.0-1) ... 398s Selecting previously unselected package python3-mistletoe. 398s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 398s Unpacking python3-mistletoe (1.3.0-1) ... 398s Selecting previously unselected package python3-ply. 398s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 398s Unpacking python3-ply (3.11-6) ... 398s Selecting previously unselected package python3-phply. 398s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 398s Unpacking python3-phply (1.2.6-1) ... 398s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 398s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8-1_arm64.deb ... 398s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1) ... 398s Selecting previously unselected package python3-ruamel.yaml. 398s Preparing to unpack .../31-python3-ruamel.yaml_0.17.21-1_all.deb ... 398s Unpacking python3-ruamel.yaml (0.17.21-1) ... 398s Selecting previously unselected package python3-simplejson. 398s Preparing to unpack .../32-python3-simplejson_3.19.2-1build1_arm64.deb ... 398s Unpacking python3-simplejson (3.19.2-1build1) ... 398s Selecting previously unselected package python3-translate. 398s Preparing to unpack .../33-python3-translate_3.12.2-1_all.deb ... 398s Unpacking python3-translate (3.12.2-1) ... 399s Selecting previously unselected package python3-vobject. 399s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 399s Unpacking python3-vobject (0.9.6.1-2) ... 399s Selecting previously unselected package python3-xapian. 399s Preparing to unpack .../35-python3-xapian_1.4.22-1build2_arm64.deb ... 399s Unpacking python3-xapian (1.4.22-1build2) ... 399s Selecting previously unselected package subversion. 399s Preparing to unpack .../36-subversion_1.14.3-1build2_arm64.deb ... 399s Unpacking subversion (1.14.3-1build2) ... 399s Selecting previously unselected package translate-toolkit. 399s Preparing to unpack .../37-translate-toolkit_3.12.2-1_all.deb ... 399s Unpacking translate-toolkit (3.12.2-1) ... 399s Selecting previously unselected package python3-iniparse. 399s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 399s Unpacking python3-iniparse (0.5-2) ... 399s Selecting previously unselected package python3-pycountry. 399s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 399s Unpacking python3-pycountry (23.12.11+ds1-2) ... 399s Selecting previously unselected package autopkgtest-satdep. 399s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 399s Unpacking autopkgtest-satdep (0) ... 399s Setting up python3-more-itertools (10.2.0-1) ... 400s Setting up libxapian30:arm64 (1.4.22-1) ... 400s Setting up python3-diff-match-patch (20230430-1) ... 400s Setting up python3-jaraco.functools (4.0.0-1) ... 401s Setting up python3-aeidon (1.11-2) ... 401s Setting up libutf8proc3:arm64 (2.9.0-1) ... 401s Setting up libaspell15:arm64 (0.60.8.1-1) ... 401s Setting up python3-ply (3.11-6) ... 401s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1) ... 401s Setting up libapr1:arm64 (1.7.2-3) ... 401s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 401s Setting up python3-simplejson (3.19.2-1build1) ... 402s Setting up emacsen-common (3.0.5) ... 402s Setting up python3-cheroot (10.0.0+ds1-1) ... 402s Setting up python3-pycountry (23.12.11+ds1-2) ... 403s Setting up python3-xapian (1.4.22-1build2) ... 403s Setting up python3-ruamel.yaml (0.17.21-1) ... 404s Setting up python3-mistletoe (1.3.0-1) ... 404s Setting up libexttextcat-data (3.4.7-1) ... 404s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 404s Setting up python3-dateutil (2.8.2-3) ... 404s Setting up python3-levenshtein (0.12.2-3) ... 405s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10) ... 405s Setting up python3-soupsieve (2.5-1) ... 405s Setting up python3-iniparse (0.5-2) ... 405s Setting up libaprutil1:arm64 (1.6.3-1ubuntu1) ... 405s Setting up python3-vobject (0.9.6.1-2) ... 406s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 406s patterns['name'] = '[a-zA-Z0-9\-_]+' 406s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 406s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 406s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 406s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 406s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 406s """ 406s Setting up gettext (0.21-14ubuntu1) ... 406s Setting up python3-phply (1.2.6-1) ... 406s Setting up dictionaries-common (1.29.7) ... 407s Setting up libserf-1-1:arm64 (1.3.10-1) ... 407s Setting up python3-bs4 (4.12.3-1) ... 408s Setting up python3-lxml:arm64 (5.1.0-1) ... 408s Setting up hunspell-en-us (1:2020.12.07-2) ... 408s Setting up libsvn1:arm64 (1.14.3-1build2) ... 408s Setting up libenchant-2-2:arm64 (2.3.3-2) ... 408s Setting up subversion (1.14.3-1build2) ... 408s Setting up python3-enchant (3.2.2-1) ... 409s Setting up python3-translate (3.12.2-1) ... 410s Setting up translate-toolkit (3.12.2-1) ... 410s Setting up autopkgtest-satdep (0) ... 410s Processing triggers for man-db (2.12.0-3) ... 411s Processing triggers for install-info (7.1-3) ... 411s Processing triggers for libc-bin (2.39-0ubuntu6) ... 411s Processing triggers for dictionaries-common (1.29.7) ... 418s (Reading database ... 78840 files and directories currently installed.) 419s Removing autopkgtest-satdep (0) ... 420s autopkgtest [06:17:46]: test translate-toolkit: [----------------------- 420s ========= SMOKE TEST: /usr/bin/android2po =========== 420s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 420s 420s Convert Android string files to Gettext PO localization files. See: 420s http://docs.translatehouse.org/projects/translate- 420s toolkit/en/latest/commands/android2po.html for examples and usage 420s instructions. 420s 420s Options: 420s --version show program's version number and exit 420s -h, --help show this help message and exit 420s --manpage output a manpage based on the help 420s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 420s --errorlevel=ERRORLEVEL 420s show errorlevel as: none, message, exception, 420s traceback 420s -i INPUT, --input=INPUT 420s read from INPUT in xml format 420s -x EXCLUDE, --exclude=EXCLUDE 420s exclude names matching EXCLUDE from input paths 420s -o OUTPUT, --output=OUTPUT 420s write to OUTPUT in po, pot formats 420s -t TEMPLATE, --template=TEMPLATE 420s read from TEMPLATE in xml format 420s -S, --timestamp skip conversion if the output file has newer timestamp 420s --duplicates=DUPLICATESTYLE 420s what to do with duplicate strings (identical source 420s text): merge, msgctxt (default: 'msgctxt') 421s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 421s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 421s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 421s input files [input files ...] 421s 421s positional arguments: 421s input files 421s 421s options: 421s -h, --help show this help message and exit 421s -d TMDB_FILE, --tmdb TMDB_FILE 421s translation memory database file (default: tm.db) 421s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 421s source language of translation files (default: en) 421s -t TARGET_LANG, --import-target-lang TARGET_LANG 421s target language of translation files 421s ========= SMOKE TEST: /usr/bin/buildxpi =========== 421s usage: Usage: buildxpi.py [] [ ...] 421s 421s positional arguments: 421s langs 421s 421s options: 421s -h, --help show this help message and exit 421s -L L10NBASE, --l10n-base L10NBASE 421s The directory containing the subdirectory. 421s -o OUTPUTDIR, --output-dir OUTPUTDIR 421s The directory to copy the built XPI to (default: 421s current directory). 421s -p MOZPRODUCT, --mozproduct MOZPRODUCT 421s The Mozilla product name (default: "browser"). 421s -s SRCDIR, --src SRCDIR 421s The directory containing the Mozilla l10n sources. 421s -d, --delete-dest Delete output XPI if it already exists. 421s -v, --verbose Be more noisy 421s --soft-max-version Override a fixed max version with one to cover the 421s whole cycle e.g. 24.0a1 becomes 24.0.* 421s ========= SMOKE TEST: /usr/bin/csv2po =========== 421s 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] 421s 421s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 421s See: http://docs.translatehouse.org/projects/translate- 421s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 421s 421s Options: 421s --version show program's version number and exit 421s -h, --help show this help message and exit 421s --manpage output a manpage based on the help 421s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 421s --errorlevel=ERRORLEVEL 421s show errorlevel as: none, message, exception, 421s traceback 421s -i INPUT, --input=INPUT 421s read from INPUT in csv format 421s -x EXCLUDE, --exclude=EXCLUDE 421s exclude names matching EXCLUDE from input paths 421s -o OUTPUT, --output=OUTPUT 421s write to OUTPUT in po, pot formats 421s -t TEMPLATE, --template=TEMPLATE 421s read from TEMPLATE in po, pot, pot formats 421s -S, --timestamp skip conversion if the output file has newer timestamp 421s -P, --pot output PO Templates (.pot) rather than PO files (.po) 421s --charset=CHARSET set charset to decode from csv files 421s --columnorder=COLUMNORDER 421s specify the order and position of columns 421s (location,source,target) 421s --duplicates=DUPLICATESTYLE 421s what to do with duplicate strings (identical source 421s text): merge, msgctxt (default: 'msgctxt') 421s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 422s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 422s 422s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 422s glossary file. See: http://docs.translatehouse.org/projects/translate- 422s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 422s 422s Options: 422s --version show program's version number and exit 422s -h, --help show this help message and exit 422s --manpage output a manpage based on the help 422s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 422s --errorlevel=ERRORLEVEL 422s show errorlevel as: none, message, exception, 422s traceback 422s -i INPUT, --input=INPUT 422s read from INPUT in csv format 422s -x EXCLUDE, --exclude=EXCLUDE 422s exclude names matching EXCLUDE from input paths 422s -o OUTPUT, --output=OUTPUT 422s write to OUTPUT in tbx format 422s -S, --timestamp skip conversion if the output file has newer timestamp 422s --charset=CHARSET set charset to decode from csv files 422s --columnorder=COLUMNORDER 422s specify the order and position of columns 422s (comment,source,target) 422s ========= SMOKE TEST: /usr/bin/dtd2po =========== 422s 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] 422s 422s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 422s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 422s this module You can convert back to .dtd using po2dtd.py. 422s 422s Options: 422s --version show program's version number and exit 422s -h, --help show this help message and exit 422s --manpage output a manpage based on the help 422s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 422s --errorlevel=ERRORLEVEL 422s show errorlevel as: none, message, exception, 422s traceback 422s -i INPUT, --input=INPUT 422s read from INPUT in dtd format 422s -x EXCLUDE, --exclude=EXCLUDE 422s exclude names matching EXCLUDE from input paths 422s -o OUTPUT, --output=OUTPUT 422s write to OUTPUT in po, pot formats 422s -t TEMPLATE, --template=TEMPLATE 422s read from TEMPLATE in dtd format 422s -S, --timestamp skip conversion if the output file has newer timestamp 422s -P, --pot output PO Templates (.pot) rather than PO files (.po) 422s --duplicates=DUPLICATESTYLE 422s what to do with duplicate strings (identical source 422s text): merge, msgctxt (default: 'msgctxt') 422s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 422s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 422s 422s Convert flat XML files to Gettext PO localization files. See: 422s http://docs.translatehouse.org/projects/translate- 422s toolkit/en/latest/commands/flatxml2po.html for examples and usage 422s instructions. 422s 422s Options: 422s --version show program's version number and exit 422s -h, --help show this help message and exit 422s --manpage output a manpage based on the help 422s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 422s --errorlevel=ERRORLEVEL 422s show errorlevel as: none, message, exception, 422s traceback 422s -i INPUT, --input=INPUT 422s read from INPUT in xml format 422s -x EXCLUDE, --exclude=EXCLUDE 422s exclude names matching EXCLUDE from input paths 422s -o OUTPUT, --output=OUTPUT 422s write to OUTPUT in po, pot formats 422s -S, --timestamp skip conversion if the output file has newer timestamp 422s -r ROOT, --root=ROOT name of the XML root element (default: "root") 422s -v VALUE, --value=VALUE 422s name of the XML value element (default: "str") 422s -k KEY, --key=KEY name of the XML key attribute (default: "key") 422s -n NS, --namespace=NS 422s XML namespace uri (default: None) 423s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 423s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 423s [--delete-dest] [-v] 423s 423s options: 423s -h, --help show this help message and exit 423s -s SRCDIR, --src SRCDIR 423s The directory containing the Mozilla l10n sources. 423s -d DESTDIR, --dest DESTDIR 423s The destination directory to copy the en-US locale 423s files to. 423s -p MOZPRODUCT, --mozproduct MOZPRODUCT 423s The Mozilla product name. 423s --delete-dest Delete the destination directory (if it exists). 423s -v, --verbose Be more noisy 423s ========= SMOKE TEST: /usr/bin/html2po =========== 423s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 423s 423s Convert HTML files to Gettext PO localization files. See: 423s http://docs.translatehouse.org/projects/translate- 423s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 423s 423s Options: 423s --version show program's version number and exit 423s -h, --help show this help message and exit 423s --manpage output a manpage based on the help 423s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 423s --errorlevel=ERRORLEVEL 423s show errorlevel as: none, message, exception, 423s traceback 423s -i INPUT, --input=INPUT 423s read from INPUT in htm, html, xhtml formats 423s -x EXCLUDE, --exclude=EXCLUDE 423s exclude names matching EXCLUDE from input paths 423s -o OUTPUT, --output=OUTPUT 423s write to OUTPUT in po, pot formats 423s -S, --timestamp skip conversion if the output file has newer timestamp 423s -P, --pot output PO Templates (.pot) rather than PO files (.po) 423s --keepcomments preserve html comments as translation notes in the 423s output 423s --duplicates=DUPLICATESTYLE 423s what to do with duplicate strings (identical source 423s text): merge, msgctxt (default: 'msgctxt') 423s --multifile=MULTIFILESTYLE 423s how to split po/pot files (single, toplevel or 423s onefile) 423s ========= SMOKE TEST: /usr/bin/ical2po =========== 423s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 423s EPOCH = datetime.datetime.utcfromtimestamp(0) 423s 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] 423s 423s Convert iCalendar files to Gettext PO localization files. See: 423s http://docs.translatehouse.org/projects/translate- 423s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 423s 423s Options: 423s --version show program's version number and exit 423s -h, --help show this help message and exit 423s --manpage output a manpage based on the help 423s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 423s --errorlevel=ERRORLEVEL 423s show errorlevel as: none, message, exception, 423s traceback 423s -i INPUT, --input=INPUT 423s read from INPUT in ics format 423s -x EXCLUDE, --exclude=EXCLUDE 423s exclude names matching EXCLUDE from input paths 423s -o OUTPUT, --output=OUTPUT 423s write to OUTPUT in po, pot formats 423s -t TEMPLATE, --template=TEMPLATE 423s read from TEMPLATE in ics format 423s -S, --timestamp skip conversion if the output file has newer timestamp 423s -P, --pot output PO Templates (.pot) rather than PO files (.po) 423s --duplicates=DUPLICATESTYLE 423s what to do with duplicate strings (identical source 423s text): merge, msgctxt (default: 'msgctxt') 424s ========= SMOKE TEST: /usr/bin/idml2po =========== 424s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 424s 424s Convert IDML files to PO localization files. 424s 424s Options: 424s --version show program's version number and exit 424s -h, --help show this help message and exit 424s --manpage output a manpage based on the help 424s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 424s --errorlevel=ERRORLEVEL 424s show errorlevel as: none, message, exception, 424s traceback 424s -i INPUT, --input=INPUT 424s read from INPUT in idml format 424s -x EXCLUDE, --exclude=EXCLUDE 424s exclude names matching EXCLUDE from input paths 424s -o OUTPUT, --output=OUTPUT 424s write to OUTPUT in po, pot formats 424s -S, --timestamp skip conversion if the output file has newer timestamp 424s ========= SMOKE TEST: /usr/bin/ini2po =========== 424s 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] 424s 424s Convert .ini files to Gettext PO localization files. See: 424s http://docs.translatehouse.org/projects/translate- 424s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 424s 424s Options: 424s --version show program's version number and exit 424s -h, --help show this help message and exit 424s --manpage output a manpage based on the help 424s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 424s --errorlevel=ERRORLEVEL 424s show errorlevel as: none, message, exception, 424s traceback 424s -i INPUT, --input=INPUT 424s read from INPUT in ini, isl, iss formats 424s -x EXCLUDE, --exclude=EXCLUDE 424s exclude names matching EXCLUDE from input paths 424s -o OUTPUT, --output=OUTPUT 424s write to OUTPUT in po, pot formats 424s -t TEMPLATE, --template=TEMPLATE 424s read from TEMPLATE in ini, isl, iss formats 424s -S, --timestamp skip conversion if the output file has newer timestamp 424s -P, --pot output PO Templates (.pot) rather than PO files (.po) 424s --duplicates=DUPLICATESTYLE 424s what to do with duplicate strings (identical source 424s text): merge, msgctxt (default: 'msgctxt') 425s ========= SMOKE TEST: /usr/bin/json2po =========== 425s 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] 425s 425s Convert JSON files to Gettext PO localization files. See: 425s http://docs.translatehouse.org/projects/translate- 425s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 425s 425s Options: 425s --version show program's version number and exit 425s -h, --help show this help message and exit 425s --manpage output a manpage based on the help 425s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 425s --errorlevel=ERRORLEVEL 425s show errorlevel as: none, message, exception, 425s traceback 425s -i INPUT, --input=INPUT 425s read from INPUT in json format 425s -x EXCLUDE, --exclude=EXCLUDE 425s exclude names matching EXCLUDE from input paths 425s -o OUTPUT, --output=OUTPUT 425s write to OUTPUT in po, pot formats 425s -t TEMPLATE, --template=TEMPLATE 425s read from TEMPLATE in json format 425s -S, --timestamp skip conversion if the output file has newer timestamp 425s -P, --pot output PO Templates (.pot) rather than PO files (.po) 425s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 425s everything) 425s --duplicates=DUPLICATESTYLE 425s what to do with duplicate strings (identical source 425s text): merge, msgctxt (default: 'msgctxt') 425s ========= SMOKE TEST: /usr/bin/md2po =========== 426s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 426s 426s Convert Markdown files to Gettext PO localization files. See: 426s http://docs.translatehouse.org/projects/translate- 426s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 426s 426s Options: 426s --version show program's version number and exit 426s -h, --help show this help message and exit 426s --manpage output a manpage based on the help 426s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 426s --errorlevel=ERRORLEVEL 426s show errorlevel as: none, message, exception, 426s traceback 426s -i INPUT, --input=INPUT 426s read from INPUT in markdown, md, text, txt formats 426s -x EXCLUDE, --exclude=EXCLUDE 426s exclude names matching EXCLUDE from input paths 426s -o OUTPUT, --output=OUTPUT 426s write to OUTPUT in po, pot formats 426s -S, --timestamp skip conversion if the output file has newer timestamp 426s -P, --pot output PO Templates (.pot) rather than PO files (.po) 426s --duplicates=DUPLICATESTYLE 426s what to do with duplicate strings (identical source 426s text): merge, msgctxt (default: 'msgctxt') 426s --multifile=MULTIFILESTYLE 426s how to split po/pot files (single, toplevel or 426s onefile) 426s ========= SMOKE TEST: /usr/bin/moz2po =========== 426s 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] 426s 426s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 426s See: http://docs.translatehouse.org/projects/translate- 426s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 426s 426s Options: 426s --version show program's version number and exit 426s -h, --help show this help message and exit 426s --manpage output a manpage based on the help 426s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 426s --errorlevel=ERRORLEVEL 426s show errorlevel as: none, message, exception, 426s traceback 426s -i INPUT, --input=INPUT 426s read from INPUT in *, dtd, inc, ini, it, js, lang, 426s manifest, properties, rdf formats 426s -x EXCLUDE, --exclude=EXCLUDE 426s exclude names matching EXCLUDE from input paths 426s -o OUTPUT, --output=OUTPUT 426s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 426s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 426s lang.pot, manifest, properties.po, properties.pot, rdf 426s formats 426s -t TEMPLATE, --template=TEMPLATE 426s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 426s manifest, properties, rdf formats 426s -S, --timestamp skip conversion if the output file has newer timestamp 426s -P, --pot output PO Templates (.pot) rather than PO files (.po) 426s --duplicates=DUPLICATESTYLE 426s what to do with duplicate strings (identical source 426s text): merge, msgctxt (default: 'msgctxt') 427s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 427s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 427s 427s Convert Mozilla .lang files to Gettext PO localization files. 427s 427s Options: 427s --version show program's version number and exit 427s -h, --help show this help message and exit 427s --manpage output a manpage based on the help 427s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 427s --errorlevel=ERRORLEVEL 427s show errorlevel as: none, message, exception, 427s traceback 427s -i INPUT, --input=INPUT 427s read from INPUT in lang format 427s -x EXCLUDE, --exclude=EXCLUDE 427s exclude names matching EXCLUDE from input paths 427s -o OUTPUT, --output=OUTPUT 427s write to OUTPUT in po, pot formats 427s -S, --timestamp skip conversion if the output file has newer timestamp 427s -P, --pot output PO Templates (.pot) rather than PO files (.po) 427s --encoding=ENCODING The encoding of the input file (default: UTF-8) 427s --duplicates=DUPLICATESTYLE 427s what to do with duplicate strings (identical source 427s text): merge, msgctxt (default: 'msgctxt') 427s ========= SMOKE TEST: /usr/bin/msghack =========== 427s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 427s This program can be used to alter .po files in ways no sane mind would think about. 427s -o result will be written to FILE 427s --invert invert a po file by switching msgid and msgstr 427s --master join any number of files in a master-formatted catalog 427s --empty empty the contents of the .po file, creating a .pot 427s --append append entries from ref.po that don't exist in file.po 427s 427s Note: It is just a replacement of msghack for backward support. 427s 427s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 427s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 427s 427s Convert OpenDocument (ODF) files to XLIFF localization files. See: 427s http://docs.translatehouse.org/projects/translate- 427s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 427s 427s Options: 427s --version show program's version number and exit 427s -h, --help show this help message and exit 427s --manpage output a manpage based on the help 427s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 427s --errorlevel=ERRORLEVEL 427s show errorlevel as: none, message, exception, 427s traceback 427s -i INPUT, --input=INPUT 427s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 427s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 427s formats 427s -x EXCLUDE, --exclude=EXCLUDE 427s exclude names matching EXCLUDE from input paths 427s -o OUTPUT, --output=OUTPUT 427s write to OUTPUT in xlf, xliff formats 427s -S, --timestamp skip conversion if the output file has newer timestamp 428s ========= SMOKE TEST: /usr/bin/oo2po =========== 428s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 428s 428s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 428s files. See: http://docs.translatehouse.org/projects/translate- 428s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 428s 428s Options: 428s --version show program's version number and exit 428s -h, --help show this help message and exit 428s --manpage output a manpage based on the help 428s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 428s --errorlevel=ERRORLEVEL 428s show errorlevel as: none, message, exception, 428s traceback 428s -i INPUT, --input=INPUT 428s read from INPUT in oo, sdf formats 428s -x EXCLUDE, --exclude=EXCLUDE 428s exclude names matching EXCLUDE from input paths 428s -o OUTPUT, --output=OUTPUT 428s write to OUTPUT in po, pot formats 428s -S, --timestamp skip conversion if the output file has newer timestamp 428s -P, --pot output PO Templates (.pot) rather than PO files (.po) 428s -l LANG, --language=LANG 428s set target language to extract from oo file (e.g. af- 428s ZA) 428s --source-language=LANG 428s set source language code (default en-US) 428s --nonrecursiveinput don't treat the input oo as a recursive store 428s --duplicates=DUPLICATESTYLE 428s what to do with duplicate strings (identical source 428s text): merge, msgctxt (default: 'msgctxt') 428s --multifile=MULTIFILESTYLE 428s how to split po/pot files (single, toplevel or 428s onefile) 428s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 428s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 428s 428s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 428s files. See: http://docs.translatehouse.org/projects/translate- 428s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 428s 428s Options: 428s --version show program's version number and exit 428s -h, --help show this help message and exit 428s --manpage output a manpage based on the help 428s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 428s --errorlevel=ERRORLEVEL 428s show errorlevel as: none, message, exception, 428s traceback 428s -i INPUT, --input=INPUT 428s read from INPUT in oo, sdf formats 428s -x EXCLUDE, --exclude=EXCLUDE 428s exclude names matching EXCLUDE from input paths 428s -o OUTPUT, --output=OUTPUT 428s write to OUTPUT in xlf, xliff formats 428s -S, --timestamp skip conversion if the output file has newer timestamp 428s -l LANG, --language=LANG 428s set target language to extract from oo file (e.g. af- 428s ZA) 428s --source-language=LANG 428s set source language code (default en-US) 428s --nonrecursiveinput don't treat the input oo as a recursive store 428s --duplicates=DUPLICATESTYLE 428s what to do with duplicate strings (identical source 428s text): merge, msgctxt (default: 'msgctxt') 428s --multifile=MULTIFILESTYLE 428s how to split po/pot files (single, toplevel or 428s onefile) 428s ========= SMOKE TEST: /usr/bin/php2po =========== 428s 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] 428s 428s Convert PHP localization files to Gettext PO localization files. See: 428s http://docs.translatehouse.org/projects/translate- 428s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 428s 428s Options: 428s --version show program's version number and exit 428s -h, --help show this help message and exit 428s --manpage output a manpage based on the help 428s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 428s --errorlevel=ERRORLEVEL 428s show errorlevel as: none, message, exception, 428s traceback 428s -i INPUT, --input=INPUT 428s read from INPUT in html, php formats 428s -x EXCLUDE, --exclude=EXCLUDE 428s exclude names matching EXCLUDE from input paths 428s -o OUTPUT, --output=OUTPUT 428s write to OUTPUT in po, pot formats 428s -t TEMPLATE, --template=TEMPLATE 428s read from TEMPLATE in html, php formats 428s -S, --timestamp skip conversion if the output file has newer timestamp 428s -P, --pot output PO Templates (.pot) rather than PO files (.po) 428s --duplicates=DUPLICATESTYLE 428s what to do with duplicate strings (identical source 428s text): merge, msgctxt (default: 'msgctxt') 429s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 429s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 429s 429s Convert PHP format .po files to Python format .po files. 429s 429s Options: 429s --version show program's version number and exit 429s -h, --help show this help message and exit 429s --manpage output a manpage based on the help 429s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 429s --errorlevel=ERRORLEVEL 429s show errorlevel as: none, message, exception, 429s traceback 429s -i INPUT, --input=INPUT 429s read from INPUT in po, pot formats 429s -x EXCLUDE, --exclude=EXCLUDE 429s exclude names matching EXCLUDE from input paths 429s -o OUTPUT, --output=OUTPUT 429s write to OUTPUT in po, pot formats 429s -S, --timestamp skip conversion if the output file has newer timestamp 429s ========= SMOKE TEST: /usr/bin/po2csv =========== 429s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 429s 429s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 429s See: http://docs.translatehouse.org/projects/translate- 429s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 429s 429s Options: 429s --version show program's version number and exit 429s -h, --help show this help message and exit 429s --manpage output a manpage based on the help 429s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 429s --errorlevel=ERRORLEVEL 429s show errorlevel as: none, message, exception, 429s traceback 429s -i INPUT, --input=INPUT 429s read from INPUT in po, pot formats 429s -x EXCLUDE, --exclude=EXCLUDE 429s exclude names matching EXCLUDE from input paths 429s -o OUTPUT, --output=OUTPUT 429s write to OUTPUT in csv format 429s -S, --timestamp skip conversion if the output file has newer timestamp 429s --columnorder=COLUMNORDER 429s specify the order and position of columns 429s (location,source,target) 429s ========= SMOKE TEST: /usr/bin/po2dtd =========== 430s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 430s 430s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 430s Conversion is either done using a template plus PO file or just using the 430s .po file. 430s 430s Options: 430s --version show program's version number and exit 430s -h, --help show this help message and exit 430s --manpage output a manpage based on the help 430s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 430s --errorlevel=ERRORLEVEL 430s show errorlevel as: none, message, exception, 430s traceback 430s -i INPUT, --input=INPUT 430s read from INPUT in po, pot formats 430s -x EXCLUDE, --exclude=EXCLUDE 430s exclude names matching EXCLUDE from input paths 430s -o OUTPUT, --output=OUTPUT 430s write to OUTPUT in dtd format 430s -t TEMPLATE, --template=TEMPLATE 430s read from TEMPLATE in dtd format 430s -S, --timestamp skip conversion if the output file has newer timestamp 430s --threshold=PERCENT only convert files where the translation completion is 430s above PERCENT 430s --fuzzy use translations marked fuzzy 430s --nofuzzy don't use translations marked fuzzy (default) 430s --removeuntranslated remove untranslated strings from output 430s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 430s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 430s 430s Convert Gettext PO localization files to flat XML files. See: 430s http://docs.translatehouse.org/projects/translate- 430s toolkit/en/latest/commands/flatxml2po.html for examples and usage 430s instructions. 430s 430s Options: 430s --version show program's version number and exit 430s -h, --help show this help message and exit 430s --manpage output a manpage based on the help 430s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 430s --errorlevel=ERRORLEVEL 430s show errorlevel as: none, message, exception, 430s traceback 430s -i INPUT, --input=INPUT 430s read from INPUT in po, pot formats 430s -x EXCLUDE, --exclude=EXCLUDE 430s exclude names matching EXCLUDE from input paths 430s -o OUTPUT, --output=OUTPUT 430s write to OUTPUT in xml format 430s -t TEMPLATE, --template=TEMPLATE 430s read from TEMPLATE in xml format 430s -S, --timestamp skip conversion if the output file has newer timestamp 430s -r ROOT, --root=ROOT name of the XML root element (default: "root") 430s -v VALUE, --value=VALUE 430s name of the XML value element (default: "str") 430s -k KEY, --key=KEY name of the XML key attribute (default: "key") 430s -n NS, --namespace=NS 430s XML namespace uri (default: None) 430s -w INDENT, --indent=INDENT 430s indent width in spaces, 0 for no indent (default: 2) 430s ========= SMOKE TEST: /usr/bin/po2html =========== 430s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 430s 430s Translate HTML files using Gettext PO localization files. See: 430s http://docs.translatehouse.org/projects/translate- 430s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 430s 430s Options: 430s --version show program's version number and exit 430s -h, --help show this help message and exit 430s --manpage output a manpage based on the help 430s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 430s --errorlevel=ERRORLEVEL 430s show errorlevel as: none, message, exception, 430s traceback 430s -i INPUT, --input=INPUT 430s read from INPUT in po, pot formats 430s -x EXCLUDE, --exclude=EXCLUDE 430s exclude names matching EXCLUDE from input paths 430s -o OUTPUT, --output=OUTPUT 430s write to OUTPUT in htm, html, xhtml formats 430s -t TEMPLATE, --template=TEMPLATE 430s read from TEMPLATE in htm, html, xhtml formats 430s -S, --timestamp skip conversion if the output file has newer timestamp 430s --threshold=PERCENT only convert files where the translation completion is 430s above PERCENT 430s --fuzzy use translations marked fuzzy 430s --nofuzzy don't use translations marked fuzzy (default) 431s ========= SMOKE TEST: /usr/bin/po2ical =========== 431s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 431s EPOCH = datetime.datetime.utcfromtimestamp(0) 431s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 431s 431s Convert Gettext PO localization files to iCalendar files. See: 431s http://docs.translatehouse.org/projects/translate- 431s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 431s 431s Options: 431s --version show program's version number and exit 431s -h, --help show this help message and exit 431s --manpage output a manpage based on the help 431s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 431s --errorlevel=ERRORLEVEL 431s show errorlevel as: none, message, exception, 431s traceback 431s -i INPUT, --input=INPUT 431s read from INPUT in po, pot formats 431s -x EXCLUDE, --exclude=EXCLUDE 431s exclude names matching EXCLUDE from input paths 431s -o OUTPUT, --output=OUTPUT 431s write to OUTPUT in ics format 431s -t TEMPLATE, --template=TEMPLATE 431s read from TEMPLATE in ics format 431s -S, --timestamp skip conversion if the output file has newer timestamp 431s --threshold=PERCENT only convert files where the translation completion is 431s above PERCENT 431s --fuzzy use translations marked fuzzy 431s --nofuzzy don't use translations marked fuzzy (default) 431s ========= SMOKE TEST: /usr/bin/po2idml =========== 431s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 431s 431s Takes an IDML template file and a PO file containing translations of strings 431s in the IDML template. It creates a new IDML file using the translations of the 431s PO file. 431s 431s Options: 431s --version show program's version number and exit 431s -h, --help show this help message and exit 431s --manpage output a manpage based on the help 431s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 431s --errorlevel=ERRORLEVEL 431s show errorlevel as: none, message, exception, 431s traceback 431s -i INPUT, --input=INPUT 431s read from INPUT in po, pot formats 431s -x EXCLUDE, --exclude=EXCLUDE 431s exclude names matching EXCLUDE from input paths 431s -o OUTPUT, --output=OUTPUT 431s write to OUTPUT in idml format 431s -t TEMPLATE, --template=TEMPLATE 431s read from TEMPLATE in idml format 431s -S, --timestamp skip conversion if the output file has newer timestamp 432s ========= SMOKE TEST: /usr/bin/po2ini =========== 432s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 432s 432s Convert Gettext PO localization files to .ini files. See: 432s http://docs.translatehouse.org/projects/translate- 432s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 432s 432s Options: 432s --version show program's version number and exit 432s -h, --help show this help message and exit 432s --manpage output a manpage based on the help 432s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 432s --errorlevel=ERRORLEVEL 432s show errorlevel as: none, message, exception, 432s traceback 432s -i INPUT, --input=INPUT 432s read from INPUT in po, pot formats 432s -x EXCLUDE, --exclude=EXCLUDE 432s exclude names matching EXCLUDE from input paths 432s -o OUTPUT, --output=OUTPUT 432s write to OUTPUT in ini, isl formats 432s -t TEMPLATE, --template=TEMPLATE 432s read from TEMPLATE in ini, isl formats 432s -S, --timestamp skip conversion if the output file has newer timestamp 432s --threshold=PERCENT only convert files where the translation completion is 432s above PERCENT 432s --fuzzy use translations marked fuzzy 432s --nofuzzy don't use translations marked fuzzy (default) 432s ========= SMOKE TEST: /usr/bin/po2json =========== 432s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 432s 432s Convert Gettext PO localization files to JSON files. See: 432s http://docs.translatehouse.org/projects/translate- 432s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 432s 432s Options: 432s --version show program's version number and exit 432s -h, --help show this help message and exit 432s --manpage output a manpage based on the help 432s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 432s --errorlevel=ERRORLEVEL 432s show errorlevel as: none, message, exception, 432s traceback 432s -i INPUT, --input=INPUT 432s read from INPUT in po, pot formats 432s -x EXCLUDE, --exclude=EXCLUDE 432s exclude names matching EXCLUDE from input paths 432s -o OUTPUT, --output=OUTPUT 432s write to OUTPUT in json format 432s -t TEMPLATE, --template=TEMPLATE 432s read from TEMPLATE in json format 432s -S, --timestamp skip conversion if the output file has newer timestamp 432s --threshold=PERCENT only convert files where the translation completion is 432s above PERCENT 432s --fuzzy use translations marked fuzzy 432s --nofuzzy don't use translations marked fuzzy (default) 432s --removeuntranslated remove untranslated strings from output 432s ========= SMOKE TEST: /usr/bin/po2md =========== 433s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 433s 433s Translate Markdown files using Gettext PO localization files. See: 433s http://docs.translatehouse.org/projects/translate- 433s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 433s 433s Options: 433s --version show program's version number and exit 433s -h, --help show this help message and exit 433s --manpage output a manpage based on the help 433s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 433s --errorlevel=ERRORLEVEL 433s show errorlevel as: none, message, exception, 433s traceback 433s -i INPUT, --input=INPUT 433s read from INPUT in po, pot formats 433s -x EXCLUDE, --exclude=EXCLUDE 433s exclude names matching EXCLUDE from input paths 433s -o OUTPUT, --output=OUTPUT 433s write to OUTPUT in markdown, md, text, txt formats 433s -t TEMPLATE, --template=TEMPLATE 433s read from TEMPLATE in markdown, md, text, txt formats 433s -S, --timestamp skip conversion if the output file has newer timestamp 433s -m MAXLENGTH, --maxlinelength=MAXLENGTH 433s reflow (word wrap) the output to the given maximum 433s line length. set to 0 to disable 433s --threshold=PERCENT only convert files where the translation completion is 433s above PERCENT 433s --fuzzy use translations marked fuzzy 433s --nofuzzy don't use translations marked fuzzy (default) 434s ========= SMOKE TEST: /usr/bin/po2moz =========== 434s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 434s 434s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 434s See: http://docs.translatehouse.org/projects/translate- 434s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 434s 434s Options: 434s --version show program's version number and exit 434s -h, --help show this help message and exit 434s --manpage output a manpage based on the help 434s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 434s --errorlevel=ERRORLEVEL 434s show errorlevel as: none, message, exception, 434s traceback 434s -i INPUT, --input=INPUT 434s read from INPUT in *, dtd.po, dtd.pot, inc.po, 434s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 434s lang.pot, manifest, properties.po, properties.pot, rdf 434s formats 434s -x EXCLUDE, --exclude=EXCLUDE 434s exclude names matching EXCLUDE from input paths 434s -o OUTPUT, --output=OUTPUT 434s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 434s manifest, properties, rdf formats 434s -t TEMPLATE, --template=TEMPLATE 434s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 434s manifest, properties, rdf formats 434s -S, --timestamp skip conversion if the output file has newer timestamp 434s -l LOCALE, --locale=LOCALE 434s set output locale (required as this sets the directory 434s names) 434s --threshold=PERCENT only convert files where the translation completion is 434s above PERCENT 434s --fuzzy use translations marked fuzzy 434s --nofuzzy don't use translations marked fuzzy (default) 434s --removeuntranslated remove untranslated strings from output 434s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 434s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 434s 434s Convert Gettext PO localization files to Mozilla .lang files. 434s 434s Options: 434s --version show program's version number and exit 434s -h, --help show this help message and exit 434s --manpage output a manpage based on the help 434s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 434s --errorlevel=ERRORLEVEL 434s show errorlevel as: none, message, exception, 434s traceback 434s -i INPUT, --input=INPUT 434s read from INPUT in po, pot formats 434s -x EXCLUDE, --exclude=EXCLUDE 434s exclude names matching EXCLUDE from input paths 434s -o OUTPUT, --output=OUTPUT 434s write to OUTPUT in lang format 434s -t TEMPLATE, --template=TEMPLATE 434s read from TEMPLATE in lang format 434s -S, --timestamp skip conversion if the output file has newer timestamp 434s --mark-active mark the file as active 434s --threshold=PERCENT only convert files where the translation completion is 434s above PERCENT 434s --fuzzy use translations marked fuzzy 434s --nofuzzy don't use translations marked fuzzy (default) 435s ========= SMOKE TEST: /usr/bin/po2oo =========== 435s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 435s 435s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 435s file. See: http://docs.translatehouse.org/projects/translate- 435s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 435s 435s Options: 435s --version show program's version number and exit 435s -h, --help show this help message and exit 435s --manpage output a manpage based on the help 435s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 435s --errorlevel=ERRORLEVEL 435s show errorlevel as: none, message, exception, 435s traceback 435s -i INPUT, --input=INPUT 435s read from INPUT in po, pot, xlf, xliff formats 435s -x EXCLUDE, --exclude=EXCLUDE 435s exclude names matching EXCLUDE from input paths 435s -o OUTPUT, --output=OUTPUT 435s write to OUTPUT in oo, sdf formats 435s -t TEMPLATE, --template=TEMPLATE 435s read from TEMPLATE in oo, sdf formats 435s -S, --timestamp skip conversion if the output file has newer timestamp 435s -l LANG, --language=LANG 435s set target language code (e.g. af-ZA) [required] 435s --source-language=LANG 435s set source language code (default en-US) 435s -T, --keeptimestamp don't change the timestamps of the strings 435s --nonrecursiveoutput don't treat the output oo as a recursive store 435s --nonrecursivetemplate 435s don't treat the template oo as a recursive store 435s --skipsource don't output the source language, but fallback to it 435s where needed 435s --filteraction=ACTION 435s action on pofilter failure: none (default), warn, 435s exclude-serious, exclude-all 435s --threshold=PERCENT only convert files where the translation completion is 435s above PERCENT 435s --fuzzy use translations marked fuzzy 435s --nofuzzy don't use translations marked fuzzy (default) 435s --multifile=MULTIFILESTYLE 435s how to split po/pot files (single, toplevel or 435s onefile) 435s ========= SMOKE TEST: /usr/bin/po2php =========== 435s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 435s 435s Convert Gettext PO localization files to PHP localization files. See: 435s http://docs.translatehouse.org/projects/translate- 435s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 435s 435s Options: 435s --version show program's version number and exit 435s -h, --help show this help message and exit 435s --manpage output a manpage based on the help 435s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 435s --errorlevel=ERRORLEVEL 435s show errorlevel as: none, message, exception, 435s traceback 435s -i INPUT, --input=INPUT 435s read from INPUT in po, pot formats 435s -x EXCLUDE, --exclude=EXCLUDE 435s exclude names matching EXCLUDE from input paths 435s -o OUTPUT, --output=OUTPUT 435s write to OUTPUT in html, php formats 435s -t TEMPLATE, --template=TEMPLATE 435s read from TEMPLATE in html, php formats 435s -S, --timestamp skip conversion if the output file has newer timestamp 435s --threshold=PERCENT only convert files where the translation completion is 435s above PERCENT 435s --fuzzy use translations marked fuzzy 435s --nofuzzy don't use translations marked fuzzy (default) 436s ========= SMOKE TEST: /usr/bin/po2prop =========== 436s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 436s 436s Convert Gettext PO localization files to Java/Mozilla .properties files. 436s See: http://docs.translatehouse.org/projects/translate- 436s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 436s 436s Options: 436s --version show program's version number and exit 436s -h, --help show this help message and exit 436s --manpage output a manpage based on the help 436s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 436s --errorlevel=ERRORLEVEL 436s show errorlevel as: none, message, exception, 436s traceback 436s -i INPUT, --input=INPUT 436s read from INPUT in po, pot formats 436s -x EXCLUDE, --exclude=EXCLUDE 436s exclude names matching EXCLUDE from input paths 436s -o OUTPUT, --output=OUTPUT 436s write to OUTPUT in lang, properties, strings formats 436s -t TEMPLATE, --template=TEMPLATE 436s read from TEMPLATE in lang, properties, strings 436s formats 436s -S, --timestamp skip conversion if the output file has newer timestamp 436s --personality=TYPE override the input file format: java, java-utf8, java- 436s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 436s strings, strings-utf8, joomla (for .properties files, 436s default: java) 436s --encoding=ENCODING override the encoding set by the personality 436s --threshold=PERCENT only convert files where the translation completion is 436s above PERCENT 436s --fuzzy use translations marked fuzzy 436s --nofuzzy don't use translations marked fuzzy (default) 436s --removeuntranslated remove untranslated strings from output 436s ========= SMOKE TEST: /usr/bin/po2rc =========== 436s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 436s 436s Convert Gettext PO localization files back to Windows Resource (.rc) files. 436s See: http://docs.translatehouse.org/projects/translate- 436s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 436s 436s Options: 436s --version show program's version number and exit 436s -h, --help show this help message and exit 436s --manpage output a manpage based on the help 436s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 436s --errorlevel=ERRORLEVEL 436s show errorlevel as: none, message, exception, 436s traceback 436s -i INPUT, --input=INPUT 436s read from INPUT in po, pot formats 436s -x EXCLUDE, --exclude=EXCLUDE 436s exclude names matching EXCLUDE from input paths 436s -o OUTPUT, --output=OUTPUT 436s write to OUTPUT in rc format 436s -t TEMPLATE, --template=TEMPLATE 436s read from TEMPLATE in rc format 436s -S, --timestamp skip conversion if the output file has newer timestamp 436s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 436s -l LANG, --lang=LANG LANG entry 436s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 436s --threshold=PERCENT only convert files where the translation completion is 436s above PERCENT 436s --fuzzy use translations marked fuzzy 436s --nofuzzy don't use translations marked fuzzy (default) 437s ========= SMOKE TEST: /usr/bin/po2resx =========== 437s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 437s 437s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 437s http://docs.translatehouse.org/projects/translate- 437s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 437s 437s Options: 437s --version show program's version number and exit 437s -h, --help show this help message and exit 437s --manpage output a manpage based on the help 437s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 437s --errorlevel=ERRORLEVEL 437s show errorlevel as: none, message, exception, 437s traceback 437s -i INPUT, --input=INPUT 437s read from INPUT in po, pot formats 437s -x EXCLUDE, --exclude=EXCLUDE 437s exclude names matching EXCLUDE from input paths 437s -o OUTPUT, --output=OUTPUT 437s write to OUTPUT in resx format 437s -t TEMPLATE, --template=TEMPLATE 437s read from TEMPLATE in resx format 437s -S, --timestamp skip conversion if the output file has newer timestamp 437s --fuzzy use translations marked fuzzy 437s --nofuzzy don't use translations marked fuzzy (default) 437s ========= SMOKE TEST: /usr/bin/po2sub =========== 437s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 437s 437s Convert Gettext PO localization files to subtitle files. See: 437s http://docs.translatehouse.org/projects/translate- 437s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 437s 437s Options: 437s --version show program's version number and exit 437s -h, --help show this help message and exit 437s --manpage output a manpage based on the help 437s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 437s --errorlevel=ERRORLEVEL 437s show errorlevel as: none, message, exception, 437s traceback 437s -i INPUT, --input=INPUT 437s read from INPUT in po, pot formats 437s -x EXCLUDE, --exclude=EXCLUDE 437s exclude names matching EXCLUDE from input paths 437s -o OUTPUT, --output=OUTPUT 437s write to OUTPUT in ass, srt, ssa, sub formats 437s -t TEMPLATE, --template=TEMPLATE 437s read from TEMPLATE in ass, srt, ssa, sub formats 437s -S, --timestamp skip conversion if the output file has newer timestamp 437s --threshold=PERCENT only convert files where the translation completion is 437s above PERCENT 437s --fuzzy use translations marked fuzzy 437s --nofuzzy don't use translations marked fuzzy (default) 437s ========= SMOKE TEST: /usr/bin/po2symb =========== 437s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 437s 437s Convert Gettext PO localization files to Symbian translation files. See: 437s http://docs.translatehouse.org/projects/translate- 437s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 437s 437s Options: 437s --version show program's version number and exit 437s -h, --help show this help message and exit 437s --manpage output a manpage based on the help 437s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 437s --errorlevel=ERRORLEVEL 437s show errorlevel as: none, message, exception, 437s traceback 437s -i INPUT, --input=INPUT 437s read from INPUT in po, pot formats 437s -x EXCLUDE, --exclude=EXCLUDE 437s exclude names matching EXCLUDE from input paths 437s -o OUTPUT, --output=OUTPUT 437s write to OUTPUT in r0 format 437s -t TEMPLATE, --template=TEMPLATE 437s read from TEMPLATE in 437s -S, --timestamp skip conversion if the output file has newer timestamp 437s --duplicates=DUPLICATESTYLE 437s what to do with duplicate strings (identical source 437s text): merge, msgctxt (default: 'msgctxt') 438s ========= SMOKE TEST: /usr/bin/po2tiki =========== 438s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 438s 438s Convert Gettext PO files to TikiWiki's language.php files. See: 438s http://docs.translatehouse.org/projects/translate- 438s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 438s 438s Options: 438s --version show program's version number and exit 438s -h, --help show this help message and exit 438s --manpage output a manpage based on the help 438s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 438s --errorlevel=ERRORLEVEL 438s show errorlevel as: none, message, exception, 438s traceback 438s -i INPUT, --input=INPUT 438s read from INPUT in po, pot formats 438s -x EXCLUDE, --exclude=EXCLUDE 438s exclude names matching EXCLUDE from input paths 438s -o OUTPUT, --output=OUTPUT 438s write to OUTPUT in tiki format 438s -S, --timestamp skip conversion if the output file has newer timestamp 438s ========= SMOKE TEST: /usr/bin/po2tmx =========== 438s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 438s 438s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 438s file. See: http://docs.translatehouse.org/projects/translate- 438s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 438s 438s Options: 438s --version show program's version number and exit 438s -h, --help show this help message and exit 438s --manpage output a manpage based on the help 438s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 438s --errorlevel=ERRORLEVEL 438s show errorlevel as: none, message, exception, 438s traceback 438s -i INPUT, --input=INPUT 438s read from INPUT in po, pot formats 438s -x EXCLUDE, --exclude=EXCLUDE 438s exclude names matching EXCLUDE from input paths 438s -o OUTPUT, --output=OUTPUT 438s write to OUTPUT in tmx format 438s -S, --timestamp skip conversion if the output file has newer timestamp 438s -l LANG, --language=LANG 438s set target language code (e.g. af-ZA) [required] 438s --source-language=LANG 438s set source language code (default: en) 438s --comments=COMMENT set default comment import: none, source, type or 438s others (default: none) 438s ========= SMOKE TEST: /usr/bin/po2ts =========== 439s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 439s 439s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 439s http://docs.translatehouse.org/projects/translate- 439s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 439s 439s Options: 439s --version show program's version number and exit 439s -h, --help show this help message and exit 439s --manpage output a manpage based on the help 439s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 439s --errorlevel=ERRORLEVEL 439s show errorlevel as: none, message, exception, 439s traceback 439s -i INPUT, --input=INPUT 439s read from INPUT in po, pot formats 439s -x EXCLUDE, --exclude=EXCLUDE 439s exclude names matching EXCLUDE from input paths 439s -o OUTPUT, --output=OUTPUT 439s write to OUTPUT in ts format 439s -t TEMPLATE, --template=TEMPLATE 439s read from TEMPLATE in ts format 439s -S, --timestamp skip conversion if the output file has newer timestamp 439s -c CONTEXT, --context=CONTEXT 439s use supplied context instead of the one in the .po 439s file comment 439s ========= SMOKE TEST: /usr/bin/po2txt =========== 439s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 439s 439s Convert Gettext PO localization files to plain text (.txt) files. See: 439s http://docs.translatehouse.org/projects/translate- 439s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 439s 439s Options: 439s --version show program's version number and exit 439s -h, --help show this help message and exit 439s --manpage output a manpage based on the help 439s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 439s --errorlevel=ERRORLEVEL 439s show errorlevel as: none, message, exception, 439s traceback 439s -i INPUT, --input=INPUT 439s read from INPUT in po, pot, xlf, xliff formats 439s -x EXCLUDE, --exclude=EXCLUDE 439s exclude names matching EXCLUDE from input paths 439s -o OUTPUT, --output=OUTPUT 439s write to OUTPUT in txt format 439s -t TEMPLATE, --template=TEMPLATE 439s read from TEMPLATE in txt format 439s -S, --timestamp skip conversion if the output file has newer timestamp 439s --encoding=ENCODING The encoding of the template file (default: UTF-8) 439s -w WRAP, --wrap=WRAP set number of columns to wrap text at 439s --threshold=PERCENT only convert files where the translation completion is 439s above PERCENT 439s --fuzzy use translations marked fuzzy 439s --nofuzzy don't use translations marked fuzzy (default) 439s ========= SMOKE TEST: /usr/bin/po2web2py =========== 439s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 439s 439s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 439s http://docs.translatehouse.org/projects/translate- 439s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 439s 439s Options: 439s --version show program's version number and exit 439s -h, --help show this help message and exit 439s --manpage output a manpage based on the help 439s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 439s --errorlevel=ERRORLEVEL 439s show errorlevel as: none, message, exception, 439s traceback 439s -i INPUT, --input=INPUT 439s read from INPUT in po, pot formats 439s -x EXCLUDE, --exclude=EXCLUDE 439s exclude names matching EXCLUDE from input paths 439s -o OUTPUT, --output=OUTPUT 439s write to OUTPUT in py format 439s -S, --timestamp skip conversion if the output file has newer timestamp 439s --threshold=PERCENT only convert files where the translation completion is 439s above PERCENT 439s --fuzzy use translations marked fuzzy 439s --nofuzzy don't use translations marked fuzzy (default) 439s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 440s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 440s 440s Convert Gettext PO localization files to a Wordfast translation memory file. 440s See: http://docs.translatehouse.org/projects/translate- 440s toolkit/en/latest/commands/po2wordfast.html for examples and usage 440s instructions. 440s 440s Options: 440s --version show program's version number and exit 440s -h, --help show this help message and exit 440s --manpage output a manpage based on the help 440s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 440s --errorlevel=ERRORLEVEL 440s show errorlevel as: none, message, exception, 440s traceback 440s -i INPUT, --input=INPUT 440s read from INPUT in po, pot formats 440s -x EXCLUDE, --exclude=EXCLUDE 440s exclude names matching EXCLUDE from input paths 440s -o OUTPUT, --output=OUTPUT 440s write to OUTPUT in txt format 440s -S, --timestamp skip conversion if the output file has newer timestamp 440s -l LANG, --language=LANG 440s set target language code (e.g. af-ZA) [required] 440s --source-language=LANG 440s set source language code (default: en) 440s ========= SMOKE TEST: /usr/bin/po2xliff =========== 440s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 440s 440s Convert Gettext PO localization files to XLIFF localization files. See: 440s http://docs.translatehouse.org/projects/translate- 440s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 440s 440s Options: 440s --version show program's version number and exit 440s -h, --help show this help message and exit 440s --manpage output a manpage based on the help 440s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 440s --errorlevel=ERRORLEVEL 440s show errorlevel as: none, message, exception, 440s traceback 440s -i INPUT, --input=INPUT 440s read from INPUT in po, pot formats 440s -x EXCLUDE, --exclude=EXCLUDE 440s exclude names matching EXCLUDE from input paths 440s -o OUTPUT, --output=OUTPUT 440s write to OUTPUT in xlf, xliff formats 440s -t TEMPLATE, --template=TEMPLATE 440s read from TEMPLATE in xlf, xliff formats 440s -S, --timestamp skip conversion if the output file has newer timestamp 440s ========= SMOKE TEST: /usr/bin/po2yaml =========== 440s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 440s 440s Convert Gettext PO localization files to YAML files. See: 440s http://docs.translatehouse.org/projects/translate- 440s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 440s 440s Options: 440s --version show program's version number and exit 440s -h, --help show this help message and exit 440s --manpage output a manpage based on the help 440s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 440s --errorlevel=ERRORLEVEL 440s show errorlevel as: none, message, exception, 440s traceback 440s -i INPUT, --input=INPUT 440s read from INPUT in po, pot formats 440s -x EXCLUDE, --exclude=EXCLUDE 440s exclude names matching EXCLUDE from input paths 440s -o OUTPUT, --output=OUTPUT 440s write to OUTPUT in yaml, yml formats 440s -t TEMPLATE, --template=TEMPLATE 440s read from TEMPLATE in yaml, yml formats 440s -S, --timestamp skip conversion if the output file has newer timestamp 440s --threshold=PERCENT only convert files where the translation completion is 440s above PERCENT 440s --fuzzy use translations marked fuzzy 440s --nofuzzy don't use translations marked fuzzy (default) 441s ========= SMOKE TEST: /usr/bin/poclean =========== 441s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 441s 441s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 441s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 441s produces the target file with only the target text in from a text version of 441s the RTF. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in po, pot, xlf, xliff formats 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po, pot, xlf, xliff formats 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s ========= SMOKE TEST: /usr/bin/pocompendium =========== 441s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 441s The first parameter is the output file, standard output if the output file is '-'. 441s Any number of directories may be specified for input files. 441s Options: 441s --invert|v Creates an inverse compendium with msgid and msgstr swapped 441s --errors|e Only ouput msg bundles that have errors 441s --correct|c Only ouput msg bundles that are correctly translated 441s --ignore-case|i Drops all strings to lowercase 441s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 441s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 441s --strip-accel-under|-su Strip all underscore (_) accelerator characters 441s ========= SMOKE TEST: /usr/bin/pocompile =========== 441s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 441s 441s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 441s Object) files. See: http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in po, pot, xlf, xliff formats 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in mo format 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s --fuzzy use translations marked fuzzy 441s --nofuzzy don't use translations marked fuzzy (default) 441s ========= SMOKE TEST: /usr/bin/poconflicts =========== 441s 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] 441s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 441s 441s Conflict finder for Gettext PO localization files. See: 441s http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/poconflicts.html for examples and usage 441s instructions. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in po format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po format 441s -I, --ignore-case ignore case distinctions 441s -v, --invert invert the conflicts thus extracting conflicting 441s destination words 441s --accelerator=ACCELERATORS 441s ignores the given accelerator characters when matching 441s ========= SMOKE TEST: /usr/bin/pocount =========== 442s usage: pocount [-h] [--incomplete] 442s [--full | --csv | --short | --short-strings | --short-words] 442s [--no-color] 442s files [files ...] 442s 442s positional arguments: 442s files 442s 442s options: 442s -h, --help show this help message and exit 442s --incomplete skip 100% translated files. 442s 442s Output format: 442s --full (default) statistics in full, verbose format 442s --csv statistics in CSV format 442s --short same as --short-strings 442s --short-strings statistics of strings in short format - one line per file 442s --short-words statistics of words in short format - one line per file 442s --no-color show output without color 442s ========= SMOKE TEST: /usr/bin/podebug =========== 442s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 442s 442s Insert debug messages into XLIFF and Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in po, pot, pot, tmx, xlf, xliff 442s formats 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot, tmx, xlf, xliff formats 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -f FORMAT, --format=FORMAT 442s specify format string 442s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 442s classified, en, flipped, unicode, xxx 442s --ignore=APPLICATION apply tagging ignore rules for the given application: 442s gtk, kde, libreoffice, mozilla, openoffice 442s --preserveplaceholders 442s attempt to exclude characters that are part of 442s placeholders when performing character-level rewrites 442s so that consuming applications can still use the 442s placeholders to generate final output 442s ========= SMOKE TEST: /usr/bin/pofilter =========== 443s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 443s 443s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 443s Snippet files are created whenever a test fails. These can be examined, 443s corrected and merged back into the originals using pomerge. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 443s and http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 443s tests. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in po, pot, tmx, xlf, xliff formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot, tmx, xlf, xliff formats 443s -l, --listfilters list filters available 443s --review include units marked for review (default) 443s --noreview exclude units marked for review 443s --fuzzy include units marked fuzzy (default) 443s --nofuzzy exclude units marked fuzzy 443s --nonotes don't add notes about the errors 443s --autocorrect output automatic corrections where possible rather 443s than describing issues 443s --language=LANG set target language code (e.g. af-ZA) [required for 443s spell check and recommended in general] 443s --openoffice use the standard checks for OpenOffice translations 443s --libreoffice use the standard checks for LibreOffice translations 443s --mozilla use the standard checks for Mozilla translations 443s --drupal use the standard checks for Drupal translations 443s --gnome use the standard checks for Gnome translations 443s --kde use the standard checks for KDE translations 443s --wx use the standard checks for wxWidgets translations 443s --excludefilter=FILTER 443s don't use FILTER when filtering 443s -t FILTER, --test=FILTER 443s only use test FILTERs specified with this option when 443s filtering 443s --notranslatefile=FILE 443s read list of untranslatable words from FILE (must not 443s be translated) 443s --musttranslatefile=FILE 443s read list of translatable words from FILE (must be 443s translated) 443s --validcharsfile=FILE 443s read list of all valid characters from FILE (must be 443s in UTF-8) 443s ========= SMOKE TEST: /usr/bin/pogrep =========== 443s 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] 443s 443s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 443s snippet files of the same type which can then be reviewed and later merged 443s using :doc:`pomerge `. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 443s xliff formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 443s xliff formats 443s --search=SEARCHPARTS searches the given parts (source, target, notes and 443s locations) 443s -I, --ignore-case ignore case distinctions 443s -e, --regexp use regular expression matching 443s -v, --invert-match select non-matching lines 443s --accelerator=ACCELERATOR 443s ignores the given accelerator when matching 443s -k, --keep-translations 443s always extract units with translations 443s ========= SMOKE TEST: /usr/bin/pomerge =========== 443s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 443s 443s Merges XLIFF and Gettext PO localization files. Snippet file produced by 443s e.g. :doc:`pogrep ` and updated by a translator can be 443s merged back into the original files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in po, pot, pot, xlf, xliff formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot, pot, xlf, xliff formats 443s -t TEMPLATE, --template=TEMPLATE 443s read from TEMPLATE in po, pot, pot, xlf, xliff formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s --mergeblanks=MERGEBLANKS 443s whether to overwrite existing translations with blank 443s translations (yes/no). Default is yes. 443s --mergefuzzy=MERGEFUZZY 443s whether to consider fuzzy translations from input 443s (yes/no). Default is yes. 443s --mergecomments=MERGECOMMENTS 443s whether to merge comments as well as translations 443s (yes/no). Default is yes. 443s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 443s Usage pomigrate2 [options] 443s 443s Options: 443s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 443s -C|--use-compendium - create and use a compendium built from the migrating files 443s -C|--use-compendium=some-compendium.po 443s - use an external compendium during the migration 443s --no-wrap - do not wrap long lines 443s --locale=lang - set locale for newly born files 443s -q|--quiet - suppress most output 443s -p|--pot2po - use pot2po instead of msgmerge to migrate 443s ========= SMOKE TEST: /usr/bin/popuretext =========== 443s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 443s ========= SMOKE TEST: /usr/bin/poreencode =========== 443s Usage: poreencode 443s eg: poreencode UTF-8 af/ 443s ========= SMOKE TEST: /usr/bin/porestructure =========== 444s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 444s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 444s 444s Restructure Gettxt PO files produced by :doc:`poconflicts 444s ` into the original directory tree for merging using 444s :doc:`pomerge `. See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po format 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po format 444s ========= SMOKE TEST: /usr/bin/posegment =========== 444s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 444s 444s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 444s See: http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po, pot, tmx, xlf, xliff formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot, tmx, xlf, xliff formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s -l LANG, --language=LANG 444s the target language code 444s --source-language=LANG 444s the source language code (default 'en') 444s --keepspaces Disable automatic stripping of whitespace 444s --only-aligned Removes units where sentence number does not 444s correspond 444s ========= SMOKE TEST: /usr/bin/poswap =========== 444s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 444s 444s Builds a new translation file with the target of the input language as source 444s language. .. note:: Ensure that the two po files correspond 100% to the same 444s pot file before using this. To translate Kurdish (ku) through French:: 444s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 444s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po, pot formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in po, pot, pot formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s --reverse reverse the process of intermediate language 444s conversion 444s ========= SMOKE TEST: /usr/bin/pot2po =========== 445s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 445s 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] 445s 445s Convert template files (like .pot or template .xlf files) to translation 445s files, preserving existing translations. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 445s formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 445s xliff formats 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 445s xliff formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -P, --pot output PO Templates (.pot) rather than PO files (.po) 445s --tm=TM The file to use as translation memory when fuzzy 445s matching 445s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 445s The minimum similarity for inclusion (default: 75%) 445s --nofuzzymatching Disable fuzzy matching 445s ========= SMOKE TEST: /usr/bin/poterminology =========== 445s 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] 445s input directory is searched for PO files, terminology PO file is output file 445s 445s Create a terminology file by reading a set of .po or .pot files to produce a 445s pootle-terminology.pot. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/poterminology.html for examples and usage 445s instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot formats 445s -u UPDATEFILE, --update=UPDATEFILE 445s update terminology in UPDATEFILE 445s -S STOPFILE, --stopword-list=STOPFILE 445s read stopword (term exclusion) list from STOPFILE 445s (default /usr/share/pyshared/translate/share/stoplist- 445s en) 445s -F, --fold-titlecase fold "Title Case" to lowercase (default) 445s -C, --preserve-case preserve all uppercase/lowercase 445s -I, --ignore-case make all terms lowercase 445s --accelerator=ACCELERATORS 445s ignore the given accelerator characters when matching 445s -t LENGTH, --term-words=LENGTH 445s generate terms of up to LENGTH words (default 3) 445s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 445s 1) 445s --inputs-needed=MIN omit terms appearing in less than MIN input files 445s (default 2, or 1 if only one input file) 445s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 445s different messages (default 1) 445s --substr-needed=MIN omit substring-only terms appearing in less than MIN 445s different messages (default 2) 445s --locs-needed=MIN omit terms appearing in less than MIN different 445s original source files (default 2) 445s --sort=ORDER output sort order(s): frequency, dictionary, length 445s (may repeat option, default is all in above order) 445s --source-language=LANG 445s the source language code (default 'en') 445s -v, --invert invert the source and target languages for terminology 445s ========= SMOKE TEST: /usr/bin/pretranslate =========== 445s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 445s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Fill localization files with suggested translations based on translation 445s memory and existing translations. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/pretranslate.html for examples and usage 445s instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot, pot, xlf, xliff formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot, xlf, xliff formats 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in po, pot, xlf, xliff formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --tm=TM The file to use as translation memory when fuzzy 445s matching 445s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 445s The minimum similarity for inclusion (default: 75%) 445s --nofuzzymatching Disable fuzzy matching 446s ========= SMOKE TEST: /usr/bin/prop2po =========== 446s 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] 446s 446s Convert Java/Mozilla .properties files to Gettext PO localization files. 446s See: http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in lang, properties, strings formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in po, pot formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in lang, properties, strings 446s formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s -P, --pot output PO Templates (.pot) rather than PO files (.po) 446s --personality=TYPE override the input file format: java, java-utf8, java- 446s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 446s strings, strings-utf8, joomla (for .properties files, 446s default: java) 446s --encoding=ENCODING override the encoding set by the personality 446s --duplicates=DUPLICATESTYLE 446s what to do with duplicate strings (identical source 446s text): merge, msgctxt (default: 'msgctxt') 446s ========= SMOKE TEST: /usr/bin/pydiff =========== 446s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 446s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 446s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 446s fromfile tofile 446s 446s positional arguments: 446s fromfile 446s tofile 446s 446s options: 446s -h, --help show this help message and exit 446s -i, --ignore-case Ignore case differences in file contents. 446s -U NUM, --unified NUM 446s Output NUM (default 3) lines of unified context 446s -r, --recursive Recursively compare any subdirectories found. 446s -N, --new-file Treat absent files as empty. 446s --unidirectional-new-file 446s Treat absent first files as empty. 446s -s, --report-identical-files 446s Report when two files are the same. 446s -x PAT, --exclude PAT 446s Exclude files that match PAT. 446s --fromcontains TEXT Only show changes where fromfile contains TEXT 446s --tocontains TEXT Only show changes where tofile contains TEXT 446s --contains TEXT Only show changes where fromfile or tofile contains 446s TEXT 446s -I, --ignore-case-contains 446s Ignore case differences when matching any of the 446s changes 446s --accelerator ACCELERATORS 446s ignores the given accelerator characters when matching 446s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 446s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 446s 446s Convert Python format .po files to PHP format .po files. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in po, pot formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 447s ========= SMOKE TEST: /usr/bin/rc2po =========== 447s 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] 447s 447s Convert Windows RC files to Gettext PO localization files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in nls, rc formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in po, pot formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in nls, rc formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s -P, --pot output PO Templates (.pot) rather than PO files (.po) 447s --charset=CHARSET charset to use to decode the RC files (autodetection 447s is used by default) 447s -l LANG, --lang=LANG LANG entry (default: None) 447s --sublang=SUBLANG SUBLANG entry (default: None) 447s --duplicates=DUPLICATESTYLE 447s what to do with duplicate strings (identical source 447s text): merge, msgctxt (default: 'msgctxt') 447s ========= SMOKE TEST: /usr/bin/resx2po =========== 447s 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] 447s 447s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in resx format 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in po, pot formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in resx format 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s -P, --pot output PO Templates (.pot) rather than PO files (.po) 447s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 447s everything) 447s --duplicates=DUPLICATESTYLE 447s what to do with duplicate strings (identical source 447s text): merge, msgctxt (default: 'msgctxt') 447s ========= SMOKE TEST: /usr/bin/sub2po =========== 448s 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] 448s 448s Convert subtitle files to Gettext PO localization files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in ass, srt, ssa, sub formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in po, pot formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in ass, srt, ssa, sub formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s -P, --pot output PO Templates (.pot) rather than PO files (.po) 448s --duplicates=DUPLICATESTYLE 448s what to do with duplicate strings (identical source 448s text): merge, msgctxt (default: 'msgctxt') 448s ========= SMOKE TEST: /usr/bin/symb2po =========== 448s 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] 448s 448s Convert Symbian localisation files to Gettext PO localization files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in r01 format 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in po, pot formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s -P, --pot output PO Templates (.pot) rather than PO files (.po) 448s --duplicates=DUPLICATESTYLE 448s what to do with duplicate strings (identical source 448s text): merge, msgctxt (default: 'msgctxt') 448s ========= SMOKE TEST: /usr/bin/tbx2po =========== 448s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in tbx format 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in po, pot formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s ========= SMOKE TEST: /usr/bin/tiki2po =========== 449s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Convert TikiWiki's language.php files to Gettext PO localization files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in php format 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po, pot formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --include-unused Include strings in the unused section 449s ========= SMOKE TEST: /usr/bin/tmserver =========== 449s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 449s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 449s [-s SOURCE_LANG] [-b BIND] [-p PORT] 449s [--max-candidates MAX_CANDIDATES] 449s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 449s [--debug] 449s 449s options: 449s -h, --help show this help message and exit 449s -d TMDBFILE, --tmdb TMDBFILE 449s translation memory database file 449s -f TMFILES, --import-translation-file TMFILES 449s translation file to import into the database 449s -t TARGET_LANG, --import-target-lang TARGET_LANG 449s target language of translation files 449s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 449s source language of translation files 449s -b BIND, --bind BIND address to bind server to (default: localhost) 449s -p PORT, --port PORT port to listen on (default: 8888) 449s --max-candidates MAX_CANDIDATES 449s Maximum number of candidates 449s --min-similarity MIN_SIMILARITY 449s minimum similarity 449s --max-length MAX_LENGTH 449s Maxmimum string length 449s --debug enable debugging features 449s ========= SMOKE TEST: /usr/bin/ts2po =========== 450s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 450s 450s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in ts format 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -P, --pot output PO Templates (.pot) rather than PO files (.po) 450s --duplicates=DUPLICATESTYLE 450s what to do with duplicate strings (identical source 450s text): merge, msgctxt (default: 'msgctxt') 450s ========= SMOKE TEST: /usr/bin/txt2po =========== 450s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 450s 450s Convert plain text (.txt) files to Gettext PO localization files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in *, txt formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -P, --pot output PO Templates (.pot) rather than PO files (.po) 450s --encoding=ENCODING The encoding of the input file (default: UTF-8) 450s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 450s mediawiki 450s --no-segmentation Don't segment the file, treat it like a single message 450s --duplicates=DUPLICATESTYLE 450s what to do with duplicate strings (identical source 450s text): merge, msgctxt (default: 'msgctxt') 450s ========= SMOKE TEST: /usr/bin/web2py2po =========== 450s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 450s 450s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in py format 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -P, --pot output PO Templates (.pot) rather than PO files (.po) 450s --duplicates=DUPLICATESTYLE 450s what to do with duplicate strings (identical source 450s text): merge, msgctxt (default: 'msgctxt') 450s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 451s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 451s 451s Convert XLIFF translation files to OpenDocument (ODF) files. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in xlf format 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 451s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 451s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 451s formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 451s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 451s 451s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 451s file. See: http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in po, pot, xlf, xliff formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in oo, sdf formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in oo, sdf formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -l LANG, --language=LANG 451s set target language code (e.g. af-ZA) [required] 451s --source-language=LANG 451s set source language code (default en-US) 451s -T, --keeptimestamp don't change the timestamps of the strings 451s --nonrecursiveoutput don't treat the output oo as a recursive store 451s --nonrecursivetemplate 451s don't treat the template oo as a recursive store 451s --skipsource don't output the source language, but fallback to it 451s where needed 451s --filteraction=ACTION 451s action on pofilter failure: none (default), warn, 451s exclude-serious, exclude-all 451s --fuzzy use translations marked fuzzy 451s --nofuzzy don't use translations marked fuzzy (default) 451s --multifile=MULTIFILESTYLE 451s how to split po/pot files (single, toplevel or 451s onefile) 451s ========= SMOKE TEST: /usr/bin/xliff2po =========== 452s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 452s 452s Convert XLIFF localization files to Gettext PO localization files. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in xlf, xliff formats 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s -P, --pot output PO Templates (.pot) rather than PO files (.po) 452s --duplicates=DUPLICATESTYLE 452s what to do with duplicate strings (identical source 452s text): merge, msgctxt (default: 'msgctxt') 452s ========= SMOKE TEST: /usr/bin/yaml2po =========== 452s 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] 452s 452s Convert YAML files to Gettext PO localization files. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in yaml, yml formats 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -t TEMPLATE, --template=TEMPLATE 452s read from TEMPLATE in yaml, yml formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s -P, --pot output PO Templates (.pot) rather than PO files (.po) 452s --duplicates=DUPLICATESTYLE 452s what to do with duplicate strings (identical source 452s text): merge, msgctxt (default: 'msgctxt') 453s autopkgtest [06:18:19]: test translate-toolkit: -----------------------] 453s translate-toolkit PASS 453s autopkgtest [06:18:19]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 454s autopkgtest [06:18:20]: test python3-translate: preparing testbed 588s autopkgtest [06:20:34]: testbed dpkg architecture: arm64 588s autopkgtest [06:20:34]: testbed apt version: 2.7.12 588s autopkgtest [06:20:34]: @@@@@@@@@@@@@@@@@@@@ test bed setup 589s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 589s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 589s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 589s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 590s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4009 kB] 590s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 590s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 590s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 590s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 590s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 590s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 590s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 590s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 592s Fetched 9865 kB in 2s (5643 kB/s) 593s Reading package lists... 595s Reading package lists... 596s Building dependency tree... 596s Reading state information... 596s Calculating upgrade... 597s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 597s Reading package lists... 597s Building dependency tree... 597s Reading state information... 597s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 598s sh: Attempting to set up Debian/Ubuntu apt sources automatically 598s sh: Distribution appears to be Ubuntu 599s Reading package lists... 599s Building dependency tree... 599s Reading state information... 600s eatmydata is already the newest version (131-1). 600s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 600s Reading package lists... 600s Building dependency tree... 600s Reading state information... 600s dbus is already the newest version (1.14.10-4ubuntu1). 600s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 600s Reading package lists... 601s Building dependency tree... 601s Reading state information... 601s rng-tools-debian is already the newest version (2.4). 601s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 601s Reading package lists... 601s Building dependency tree... 601s Reading state information... 602s The following packages will be REMOVED: 602s cloud-init* python3-configobj* python3-debconf* 602s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 602s After this operation, 3256 kB disk space will be freed. 602s (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 ... 75911 files and directories currently installed.) 602s Removing cloud-init (24.1.2-0ubuntu1) ... 603s Removing python3-configobj (5.0.8-3) ... 603s Removing python3-debconf (1.5.86) ... 603s Processing triggers for man-db (2.12.0-3) ... 603s (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 ... 75522 files and directories currently installed.) 603s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 604s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 604s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 604s invoke-rc.d: policy-rc.d denied execution of try-restart. 604s Reading package lists... 604s Building dependency tree... 604s Reading state information... 605s linux-generic is already the newest version (6.8.0-11.11+1). 605s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 605s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 605s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 605s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 607s Reading package lists... 607s Reading package lists... 608s Building dependency tree... 608s Reading state information... 608s Calculating upgrade... 608s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 608s Reading package lists... 609s Building dependency tree... 609s Reading state information... 609s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 609s autopkgtest [06:20:55]: rebooting testbed after setup commands that affected boot 769s Reading package lists... 769s Building dependency tree... 769s Reading state information... 769s Starting pkgProblemResolver with broken count: 0 769s Starting 2 pkgProblemResolver with broken count: 0 769s Done 770s The following additional packages will be installed: 770s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 770s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 770s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 770s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 770s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 770s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 770s python3-more-itertools python3-packaging python3-phply python3-pluggy 770s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 770s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 770s python3-translate python3-vobject python3-xapian subversion 770s Suggested packages: 770s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 770s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 770s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 770s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 770s libapache2-mod-svn subversion-tools 770s Recommended packages: 770s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 770s python3-cssselect python3-html5lib 770s The following NEW packages will be installed: 770s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 770s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 770s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 770s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 770s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 770s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 770s python3-more-itertools python3-packaging python3-phply python3-pluggy 770s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 770s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 770s python3-translate python3-vobject python3-xapian subversion 770s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 770s Need to get 10.3 MB/10.3 MB of archives. 770s After this operation, 47.9 MB of additional disk space will be used. 770s Get:1 /tmp/autopkgtest.c8pha2/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [876 B] 771s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 emacsen-common all 3.0.5 [12.1 kB] 771s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 dictionaries-common all 1.29.7 [188 kB] 771s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 771s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 gettext arm64 0.21-14ubuntu1 [846 kB] 771s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 771s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 libapr1 arm64 1.7.2-3 [103 kB] 771s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libaprutil1 arm64 1.6.3-1ubuntu1 [91.7 kB] 771s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libaspell15 arm64 0.60.8.1-1 [391 kB] 771s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10 [272 kB] 771s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libenchant-2-2 arm64 2.3.3-2 [49.4 kB] 771s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libexttextcat-data all 3.4.7-1 [235 kB] 771s Get:13 http://ftpmaster.internal/ubuntu noble/universe arm64 libserf-1-1 arm64 1.3.10-1 [47.5 kB] 771s Get:14 http://ftpmaster.internal/ubuntu noble/universe arm64 libutf8proc3 arm64 2.9.0-1 [70.8 kB] 771s Get:15 http://ftpmaster.internal/ubuntu noble/universe arm64 libsvn1 arm64 1.14.3-1build2 [1339 kB] 771s Get:16 http://ftpmaster.internal/ubuntu noble/universe arm64 libxapian30 arm64 1.4.22-1 [651 kB] 771s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 771s Get:18 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-aeidon all 1.11-2 [221 kB] 771s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 python3-all arm64 3.12.1-0ubuntu2 [906 B] 771s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 771s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 771s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 771s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 771s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 771s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 771s Get:26 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 771s Get:27 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 771s Get:28 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 771s Get:29 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-levenshtein arm64 0.12.2-3 [38.2 kB] 771s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 python3-lxml arm64 5.1.0-1 [2042 kB] 771s Get:31 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 771s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 python3-packaging all 23.2-1 [40.6 kB] 771s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 python3-ply all 3.11-6 [46.5 kB] 771s Get:34 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 771s Get:35 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pluggy all 1.4.0-1 [20.4 kB] 771s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 771s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1 [187 kB] 771s Get:38 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 771s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 python3-simplejson arm64 3.19.2-1build1 [61.4 kB] 772s Get:40 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 772s Get:41 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-translate all 3.12.2-1 [317 kB] 772s Get:42 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 772s Get:43 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-xapian arm64 1.4.22-1build2 [522 kB] 772s Get:44 http://ftpmaster.internal/ubuntu noble/universe arm64 subversion arm64 1.14.3-1build2 [906 kB] 772s Get:45 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 772s Get:46 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 772s Preconfiguring packages ... 772s Fetched 10.3 MB in 1s (8431 kB/s) 772s Selecting previously unselected package emacsen-common. 772s (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 ... 75467 files and directories currently installed.) 772s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 772s Unpacking emacsen-common (3.0.5) ... 772s Selecting previously unselected package dictionaries-common. 772s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 772s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 772s Unpacking dictionaries-common (1.29.7) ... 772s Selecting previously unselected package libgomp1:arm64. 772s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 772s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 772s Selecting previously unselected package gettext. 772s Preparing to unpack .../03-gettext_0.21-14ubuntu1_arm64.deb ... 772s Unpacking gettext (0.21-14ubuntu1) ... 772s Selecting previously unselected package hunspell-en-us. 772s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 772s Unpacking hunspell-en-us (1:2020.12.07-2) ... 772s Selecting previously unselected package libapr1:arm64. 772s Preparing to unpack .../05-libapr1_1.7.2-3_arm64.deb ... 772s Unpacking libapr1:arm64 (1.7.2-3) ... 772s Selecting previously unselected package libaprutil1:arm64. 772s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_arm64.deb ... 772s Unpacking libaprutil1:arm64 (1.6.3-1ubuntu1) ... 772s Selecting previously unselected package libaspell15:arm64. 772s Preparing to unpack .../07-libaspell15_0.60.8.1-1_arm64.deb ... 772s Unpacking libaspell15:arm64 (0.60.8.1-1) ... 772s Selecting previously unselected package libhunspell-1.7-0:arm64. 773s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_arm64.deb ... 773s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10) ... 773s Selecting previously unselected package libenchant-2-2:arm64. 773s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_arm64.deb ... 773s Unpacking libenchant-2-2:arm64 (2.3.3-2) ... 773s Selecting previously unselected package libexttextcat-data. 773s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 773s Unpacking libexttextcat-data (3.4.7-1) ... 773s Selecting previously unselected package libserf-1-1:arm64. 773s Preparing to unpack .../11-libserf-1-1_1.3.10-1_arm64.deb ... 773s Unpacking libserf-1-1:arm64 (1.3.10-1) ... 773s Selecting previously unselected package libutf8proc3:arm64. 773s Preparing to unpack .../12-libutf8proc3_2.9.0-1_arm64.deb ... 773s Unpacking libutf8proc3:arm64 (2.9.0-1) ... 773s Selecting previously unselected package libsvn1:arm64. 773s Preparing to unpack .../13-libsvn1_1.14.3-1build2_arm64.deb ... 773s Unpacking libsvn1:arm64 (1.14.3-1build2) ... 773s Selecting previously unselected package libxapian30:arm64. 773s Preparing to unpack .../14-libxapian30_1.4.22-1_arm64.deb ... 773s Unpacking libxapian30:arm64 (1.4.22-1) ... 773s Selecting previously unselected package libxslt1.1:arm64. 773s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1_arm64.deb ... 773s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 773s Selecting previously unselected package python3-aeidon. 773s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 773s Unpacking python3-aeidon (1.11-2) ... 773s Selecting previously unselected package python3-all. 773s Preparing to unpack .../17-python3-all_3.12.1-0ubuntu2_arm64.deb ... 773s Unpacking python3-all (3.12.1-0ubuntu2) ... 773s Selecting previously unselected package python3-soupsieve. 773s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 773s Unpacking python3-soupsieve (2.5-1) ... 773s Selecting previously unselected package python3-bs4. 773s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 773s Unpacking python3-bs4 (4.12.3-1) ... 773s Selecting previously unselected package python3-more-itertools. 773s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 773s Unpacking python3-more-itertools (10.2.0-1) ... 773s Selecting previously unselected package python3-jaraco.functools. 773s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 773s Unpacking python3-jaraco.functools (4.0.0-1) ... 773s Selecting previously unselected package python3-cheroot. 773s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-1_all.deb ... 773s Unpacking python3-cheroot (10.0.0+ds1-1) ... 773s Selecting previously unselected package python3-dateutil. 773s Preparing to unpack .../23-python3-dateutil_2.8.2-3_all.deb ... 773s Unpacking python3-dateutil (2.8.2-3) ... 773s Selecting previously unselected package python3-diff-match-patch. 773s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 773s Unpacking python3-diff-match-patch (20230430-1) ... 773s Selecting previously unselected package python3-enchant. 773s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 773s Unpacking python3-enchant (3.2.2-1) ... 773s Selecting previously unselected package python3-iniconfig. 773s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 773s Unpacking python3-iniconfig (1.1.1-2) ... 773s Selecting previously unselected package python3-levenshtein. 773s Preparing to unpack .../27-python3-levenshtein_0.12.2-3_arm64.deb ... 773s Unpacking python3-levenshtein (0.12.2-3) ... 773s Selecting previously unselected package python3-lxml:arm64. 773s Preparing to unpack .../28-python3-lxml_5.1.0-1_arm64.deb ... 773s Unpacking python3-lxml:arm64 (5.1.0-1) ... 773s Selecting previously unselected package python3-mistletoe. 773s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 773s Unpacking python3-mistletoe (1.3.0-1) ... 773s Selecting previously unselected package python3-packaging. 773s Preparing to unpack .../30-python3-packaging_23.2-1_all.deb ... 773s Unpacking python3-packaging (23.2-1) ... 773s Selecting previously unselected package python3-ply. 773s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 773s Unpacking python3-ply (3.11-6) ... 773s Selecting previously unselected package python3-phply. 773s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 773s Unpacking python3-phply (1.2.6-1) ... 773s Selecting previously unselected package python3-pluggy. 773s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 773s Unpacking python3-pluggy (1.4.0-1) ... 774s Selecting previously unselected package python3-pytest. 774s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 774s Unpacking python3-pytest (7.4.4-1) ... 774s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 774s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8-1_arm64.deb ... 774s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1) ... 774s Selecting previously unselected package python3-ruamel.yaml. 774s Preparing to unpack .../36-python3-ruamel.yaml_0.17.21-1_all.deb ... 774s Unpacking python3-ruamel.yaml (0.17.21-1) ... 774s Selecting previously unselected package python3-simplejson. 774s Preparing to unpack .../37-python3-simplejson_3.19.2-1build1_arm64.deb ... 774s Unpacking python3-simplejson (3.19.2-1build1) ... 774s Selecting previously unselected package python3-syrupy. 774s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 774s Unpacking python3-syrupy (4.6.1-1) ... 774s Selecting previously unselected package python3-translate. 774s Preparing to unpack .../39-python3-translate_3.12.2-1_all.deb ... 774s Unpacking python3-translate (3.12.2-1) ... 774s Selecting previously unselected package python3-vobject. 774s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 774s Unpacking python3-vobject (0.9.6.1-2) ... 774s Selecting previously unselected package python3-xapian. 774s Preparing to unpack .../41-python3-xapian_1.4.22-1build2_arm64.deb ... 774s Unpacking python3-xapian (1.4.22-1build2) ... 774s Selecting previously unselected package subversion. 774s Preparing to unpack .../42-subversion_1.14.3-1build2_arm64.deb ... 774s Unpacking subversion (1.14.3-1build2) ... 774s Selecting previously unselected package python3-iniparse. 774s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 774s Unpacking python3-iniparse (0.5-2) ... 774s Selecting previously unselected package python3-pycountry. 774s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 774s Unpacking python3-pycountry (23.12.11+ds1-2) ... 774s Selecting previously unselected package autopkgtest-satdep. 774s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 774s Unpacking autopkgtest-satdep (0) ... 774s Setting up python3-more-itertools (10.2.0-1) ... 774s Setting up python3-iniconfig (1.1.1-2) ... 778s Setting up libxapian30:arm64 (1.4.22-1) ... 778s Setting up python3-diff-match-patch (20230430-1) ... 778s Setting up python3-jaraco.functools (4.0.0-1) ... 778s Setting up python3-aeidon (1.11-2) ... 778s Setting up libutf8proc3:arm64 (2.9.0-1) ... 778s Setting up libaspell15:arm64 (0.60.8.1-1) ... 778s Setting up python3-ply (3.11-6) ... 778s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1) ... 778s Setting up libapr1:arm64 (1.7.2-3) ... 778s Setting up python3-all (3.12.1-0ubuntu2) ... 778s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 778s Setting up python3-simplejson (3.19.2-1build1) ... 778s Setting up python3-packaging (23.2-1) ... 778s Setting up emacsen-common (3.0.5) ... 778s Setting up python3-cheroot (10.0.0+ds1-1) ... 778s Setting up python3-pycountry (23.12.11+ds1-2) ... 778s Setting up python3-xapian (1.4.22-1build2) ... 778s Setting up python3-pluggy (1.4.0-1) ... 778s Setting up python3-ruamel.yaml (0.17.21-1) ... 778s Setting up python3-mistletoe (1.3.0-1) ... 778s Setting up libexttextcat-data (3.4.7-1) ... 778s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 778s Setting up python3-dateutil (2.8.2-3) ... 778s Setting up python3-levenshtein (0.12.2-3) ... 778s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10) ... 778s Setting up python3-soupsieve (2.5-1) ... 778s Setting up python3-iniparse (0.5-2) ... 778s Setting up libaprutil1:arm64 (1.6.3-1ubuntu1) ... 778s Setting up python3-vobject (0.9.6.1-2) ... 778s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 778s patterns['name'] = '[a-zA-Z0-9\-_]+' 778s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 778s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 778s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 778s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 778s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 778s """ 778s Setting up gettext (0.21-14ubuntu1) ... 778s Setting up python3-phply (1.2.6-1) ... 779s Setting up dictionaries-common (1.29.7) ... 779s Setting up python3-pytest (7.4.4-1) ... 779s Setting up python3-syrupy (4.6.1-1) ... 779s Setting up libserf-1-1:arm64 (1.3.10-1) ... 779s Setting up python3-bs4 (4.12.3-1) ... 780s Setting up python3-lxml:arm64 (5.1.0-1) ... 780s Setting up hunspell-en-us (1:2020.12.07-2) ... 780s Setting up libsvn1:arm64 (1.14.3-1build2) ... 780s Setting up libenchant-2-2:arm64 (2.3.3-2) ... 780s Setting up subversion (1.14.3-1build2) ... 780s Setting up python3-enchant (3.2.2-1) ... 780s Setting up python3-translate (3.12.2-1) ... 783s Setting up autopkgtest-satdep (0) ... 783s Processing triggers for man-db (2.12.0-3) ... 783s Processing triggers for install-info (7.1-3) ... 783s Processing triggers for libc-bin (2.39-0ubuntu6) ... 783s Processing triggers for dictionaries-common (1.29.7) ... 786s (Reading database ... 78866 files and directories currently installed.) 786s Removing autopkgtest-satdep (0) ... 789s autopkgtest [06:23:55]: test python3-translate: [----------------------- 789s ============================= test session starts ============================== 789s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 789s cachedir: .pytest_cache 789s rootdir: /tmp/autopkgtest.c8pha2/autopkgtest_tmp 789s plugins: syrupy-4.6.1 796s collecting ... collected 3313 items / 2 skipped 796s 796s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 796s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 796s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 796s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 796s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 796s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 796s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 796s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 797s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 797s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 797s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 797s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 797s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 797s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 797s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 797s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 797s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 797s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 797s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 797s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 797s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 797s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 797s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 797s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 797s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 797s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 797s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 797s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 797s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 797s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 798s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 798s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 798s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 798s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 798s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 798s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 798s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 798s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 798s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 798s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 798s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 798s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 798s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 798s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 798s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 798s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 798s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 799s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 799s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 799s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 799s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 799s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 800s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 800s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 800s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 800s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 800s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 800s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 800s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 800s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 800s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 800s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 800s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 800s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 800s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 800s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 800s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 800s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 800s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 800s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 800s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 800s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 800s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 800s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 800s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 801s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 801s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 801s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 801s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 801s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 801s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 801s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 801s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 801s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 801s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 801s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 801s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 801s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 801s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 801s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 801s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 801s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 801s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 801s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 801s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 801s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 801s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 801s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 802s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 802s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 802s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 802s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 802s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 802s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 802s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 802s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 802s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 802s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 802s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 802s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 802s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 802s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 802s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 802s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 802s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 802s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 802s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 802s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 802s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 802s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 802s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 802s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 802s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 802s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 802s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 802s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 802s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 802s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 802s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 802s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 802s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 802s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 802s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 802s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 802s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 802s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 802s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 802s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 802s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 802s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 802s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 802s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 802s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 802s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 802s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 802s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 802s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 802s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 802s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 802s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 802s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 802s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 802s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 802s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 802s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 802s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 802s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 803s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 803s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 803s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 803s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 803s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 803s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 803s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 803s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 803s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 803s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 803s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 803s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 803s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 803s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 803s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 803s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 803s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 803s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 803s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 804s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 804s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 804s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 804s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 804s 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%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 804s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 804s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 804s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 804s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 804s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 804s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 804s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 804s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 804s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 804s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 804s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 805s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 805s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 805s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 805s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 805s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 806s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 806s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 806s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 806s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 806s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 806s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 806s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 806s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 806s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 807s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 807s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 807s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 807s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 807s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 807s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 807s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 807s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 807s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 807s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 807s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 808s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 808s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 808s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 808s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 808s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 808s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 808s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 808s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 808s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 808s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 808s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 808s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 810s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 810s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 810s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 810s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 810s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 810s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 810s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 810s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 810s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 810s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 810s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 810s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 810s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 810s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 810s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 810s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 810s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 810s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 810s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 810s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 810s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 810s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 810s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 810s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 810s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 810s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 810s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 810s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 810s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 810s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 810s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 810s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 810s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 810s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 810s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 811s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 811s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 811s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 811s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 811s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 811s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 811s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 811s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 811s 811s =============================== warnings summary =============================== 811s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 811s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 811s 811s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 811s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 811s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 811s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 811s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 811s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 811s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 811s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 811s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 811s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 811s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 811s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 811s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 811s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 811s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 811s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 811s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 811s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 811s Warning: Could not find accesskey for key.accesskey 811s 811s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 811s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 811s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 811s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 811s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 811s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/translate/convert/test.idml'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 811s Warning: unclosed file <_io.BufferedReader name='translation.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 811s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 811s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 811s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 811s Warning: Could not find accesskey for prop.accesskey 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 811s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 811s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 811s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 811s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 811s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 811s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 811s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 811s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 811s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 811s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 811s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/translate/convert/test.odt'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 811s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 811s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 811s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 811s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 811s Enable tracemalloc to get traceback where the object was allocated. 811s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 811s 811s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 811s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 811s 811s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 811s Warning: DTD file '' does not validate 811s 811s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 811s --------------------------- snapshot report summary ---------------------------- 811s 23 snapshots passed. 811s =========================== short test summary info ============================ 811s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 811s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 811s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 811s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 811s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 811s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 811s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 811s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 811s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 811s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 811s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 811s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 811s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 811s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 811s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 811s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 811s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 811s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 811s 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. 811s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 811s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 811s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 811s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 811s 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 811s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 811s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 811s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 811s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 811s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 811s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 811s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 811s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 811s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 811s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 811s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 811s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 811s ========== 3254 passed, 22 skipped, 39 xfailed, 47 warnings in 21.88s ========== 812s autopkgtest [06:24:18]: test python3-translate: -----------------------] 813s python3-translate PASS 813s autopkgtest [06:24:19]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 813s autopkgtest [06:24:19]: test python3-translate-commands: preparing testbed 815s Reading package lists... 815s Building dependency tree... 815s Reading state information... 815s Starting pkgProblemResolver with broken count: 0 815s Starting 2 pkgProblemResolver with broken count: 0 815s Done 816s The following additional packages will be installed: 816s translate-toolkit 816s Recommended packages: 816s translate-toolkit-doc 816s The following NEW packages will be installed: 816s autopkgtest-satdep translate-toolkit 816s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 816s Need to get 88.2 kB/89.1 kB of archives. 816s After this operation, 253 kB of additional disk space will be used. 816s Get:1 /tmp/autopkgtest.c8pha2/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [884 B] 817s Get:2 http://ftpmaster.internal/ubuntu noble/universe arm64 translate-toolkit all 3.12.2-1 [88.2 kB] 817s Fetched 88.2 kB in 0s (242 kB/s) 817s Selecting previously unselected package translate-toolkit. 817s (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 ... 78866 files and directories currently installed.) 817s Preparing to unpack .../translate-toolkit_3.12.2-1_all.deb ... 817s Unpacking translate-toolkit (3.12.2-1) ... 817s Selecting previously unselected package autopkgtest-satdep. 817s Preparing to unpack .../3-autopkgtest-satdep.deb ... 817s Unpacking autopkgtest-satdep (0) ... 817s Setting up translate-toolkit (3.12.2-1) ... 817s Setting up autopkgtest-satdep (0) ... 817s Processing triggers for man-db (2.12.0-3) ... 821s (Reading database ... 79039 files and directories currently installed.) 821s Removing autopkgtest-satdep (0) ... 822s autopkgtest [06:24:28]: test python3-translate-commands: [----------------------- 822s ============================= test session starts ============================== 822s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 822s cachedir: .pytest_cache 822s rootdir: /tmp/autopkgtest.c8pha2/autopkgtest_tmp 822s plugins: syrupy-4.6.1 829s collecting ... collected 3313 items / 2 skipped 829s 829s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 829s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 829s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 829s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 829s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 829s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 829s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 829s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 829s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 829s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 829s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 829s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 829s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 829s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 829s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 829s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 829s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 829s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 829s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 829s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 829s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 829s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 829s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 829s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 829s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 829s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 829s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 829s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 830s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 830s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 830s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 830s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 830s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 830s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 830s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 830s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 830s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 830s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 830s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 830s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 830s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 830s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 830s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 830s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 830s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 831s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 831s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 831s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 831s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 831s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 831s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 831s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 831s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 831s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 831s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 831s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 831s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 831s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 832s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 832s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 832s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 832s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 832s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 832s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 832s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 832s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 832s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 832s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 832s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 832s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 832s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 832s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 832s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 832s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 832s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 832s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 832s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 832s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 832s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 832s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 832s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 832s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 832s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 832s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 832s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 832s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 832s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 832s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 832s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 832s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 832s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 832s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 832s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 832s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 832s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 832s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 832s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 832s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 832s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 832s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 832s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 833s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 833s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 833s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 833s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 833s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 833s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 833s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 833s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 833s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 833s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 833s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 833s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 833s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 833s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 833s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 833s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 833s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 833s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 833s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 833s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 833s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 833s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 833s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 833s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 833s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 833s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 833s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 833s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 833s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 833s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 833s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 833s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 833s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 833s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 833s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 833s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 833s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 833s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 833s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 833s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 833s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 833s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 833s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 833s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 833s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 833s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 833s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 833s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 833s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 833s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 833s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 833s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 833s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 833s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 833s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 834s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 834s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 834s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 834s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 834s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 834s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 834s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 834s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 834s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 834s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 834s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 834s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 834s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 834s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 834s 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%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 834s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 834s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 834s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 834s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 834s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 834s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 834s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 834s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 835s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 835s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 835s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 835s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 835s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 835s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 835s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 835s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 836s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 836s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 836s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 836s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 836s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 836s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 836s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 836s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 836s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 836s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 836s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 836s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 836s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 836s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 836s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 836s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 837s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 837s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 837s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 837s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 837s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 837s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 837s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 837s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 837s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 837s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 837s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 837s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 837s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 838s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 838s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 838s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 839s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 839s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 839s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 839s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 839s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 839s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 839s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 839s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 839s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 839s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 839s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 839s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 839s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 839s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 839s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 839s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 839s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 839s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 839s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 839s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 839s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 839s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 839s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 839s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 839s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 839s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 839s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 840s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 840s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 840s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 840s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 840s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 840s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 840s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 840s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 840s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 840s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 840s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 840s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 840s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 840s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 840s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 840s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 840s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 840s 840s =============================== warnings summary =============================== 840s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 840s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 840s 840s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 840s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 840s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 840s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 840s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 840s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 840s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 840s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 840s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 840s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 840s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 840s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 840s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 840s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 840s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 840s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 840s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 840s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 840s Warning: Could not find accesskey for key.accesskey 840s 840s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 840s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 840s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 840s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 840s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 840s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/translate/convert/test.idml'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 840s Warning: unclosed file <_io.BufferedReader name='translation.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 840s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 840s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 840s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 840s Warning: Could not find accesskey for prop.accesskey 840s 840s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 840s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 840s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 840s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 840s Enable tracemalloc to get traceback where the object was allocated. 840s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 840s 840s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 840s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 841s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 841s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 841s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 841s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 841s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 841s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 841s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 841s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.c8pha2/autopkgtest_tmp/tests/translate/convert/test.odt'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 841s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 841s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 841s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 841s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 841s Enable tracemalloc to get traceback where the object was allocated. 841s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 841s 841s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 841s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 841s 841s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 841s Warning: DTD file '' does not validate 841s 841s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 841s --------------------------- snapshot report summary ---------------------------- 841s 23 snapshots passed. 841s =========================== short test summary info ============================ 841s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 841s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 841s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 841s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 841s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 841s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 841s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 841s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 841s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 841s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 841s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 841s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 841s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 841s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 841s 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. 841s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 841s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 841s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 841s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 841s 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 841s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 841s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 841s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 841s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 841s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 841s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 841s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 841s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 841s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 841s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 841s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 841s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 841s ========== 3273 passed, 3 skipped, 39 xfailed, 47 warnings in 18.47s =========== 841s autopkgtest [06:24:47]: test python3-translate-commands: -----------------------] 842s autopkgtest [06:24:48]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 842s python3-translate-commands PASS 842s autopkgtest [06:24:48]: @@@@@@@@@@@@@@@@@@@@ summary 842s translate-toolkit PASS 842s python3-translate PASS 842s python3-translate-commands PASS 969s Creating nova instance adt-noble-arm64-translate-toolkit-20240324-061046-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 969s Creating nova instance adt-noble-arm64-translate-toolkit-20240324-061046-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)...