0s autopkgtest [18:54:24]: starting date and time: 2024-07-23 18:54:24+0000 0s autopkgtest [18:54:24]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [18:54:24]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.xz012sqa/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.4-1 python3-stdlib-extensions/3.12.4-2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-43.secgroup --name adt-oracular-arm64-translate-toolkit-20240723-185423-juju-7f2275-prod-proposed-migration-environment-2-9c03e922-be7c-4c92-a0af-28d83d381b0a --image adt/ubuntu-oracular-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,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 71s autopkgtest [18:55:35]: testbed dpkg architecture: arm64 72s autopkgtest [18:55:36]: testbed apt version: 2.9.6 72s autopkgtest [18:55:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 72s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 73s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [393 kB] 73s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [5704 B] 73s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [68.3 kB] 73s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 73s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [126 kB] 73s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 73s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 73s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 73s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [493 kB] 73s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 73s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [8204 B] 73s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 77s Fetched 1284 kB in 1s (896 kB/s) 77s Reading package lists... 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 82s Calculating upgrade... 82s The following packages will be upgraded: 82s gcc-14-base gdisk libgcc-s1 libpython3-stdlib libstdc++6 netcat-openbsd 82s python3 python3-gdbm python3-minimal systemd-hwe-hwdb 82s 10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 82s Need to get 1235 kB of archives. 82s After this operation, 71.7 kB of additional disk space will be used. 82s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-minimal arm64 3.12.4-1 [27.1 kB] 82s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3 arm64 3.12.4-1 [24.0 kB] 82s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 libpython3-stdlib arm64 3.12.4-1 [9824 B] 82s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc-14-base arm64 14.1.0-5ubuntu1 [49.9 kB] 83s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 libstdc++6 arm64 14.1.0-5ubuntu1 [749 kB] 83s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 libgcc-s1 arm64 14.1.0-5ubuntu1 [61.8 kB] 83s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 netcat-openbsd arm64 1.226-1.1 [43.3 kB] 83s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 systemd-hwe-hwdb all 256.2.1 [3210 B] 83s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-gdbm arm64 3.12.4-2 [18.0 kB] 83s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 gdisk arm64 1.0.10-2 [249 kB] 84s Fetched 1235 kB in 1s (2230 kB/s) 84s (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 ... 78393 files and directories currently installed.) 84s Preparing to unpack .../python3-minimal_3.12.4-1_arm64.deb ... 84s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 84s Setting up python3-minimal (3.12.4-1) ... 85s (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 ... 78393 files and directories currently installed.) 85s Preparing to unpack .../python3_3.12.4-1_arm64.deb ... 85s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 85s Preparing to unpack .../libpython3-stdlib_3.12.4-1_arm64.deb ... 85s Unpacking libpython3-stdlib:arm64 (3.12.4-1) over (3.12.3-0ubuntu1) ... 85s Preparing to unpack .../gcc-14-base_14.1.0-5ubuntu1_arm64.deb ... 85s Unpacking gcc-14-base:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 85s Setting up gcc-14-base:arm64 (14.1.0-5ubuntu1) ... 85s (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 ... 78393 files and directories currently installed.) 85s Preparing to unpack .../libstdc++6_14.1.0-5ubuntu1_arm64.deb ... 85s Unpacking libstdc++6:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 85s Setting up libstdc++6:arm64 (14.1.0-5ubuntu1) ... 85s (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 ... 78393 files and directories currently installed.) 85s Preparing to unpack .../libgcc-s1_14.1.0-5ubuntu1_arm64.deb ... 85s Unpacking libgcc-s1:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 85s Setting up libgcc-s1:arm64 (14.1.0-5ubuntu1) ... 85s (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 ... 78393 files and directories currently installed.) 86s Preparing to unpack .../netcat-openbsd_1.226-1.1_arm64.deb ... 86s Unpacking netcat-openbsd (1.226-1.1) over (1.226-1ubuntu2) ... 86s Preparing to unpack .../systemd-hwe-hwdb_256.2.1_all.deb ... 86s Unpacking systemd-hwe-hwdb (256.2.1) over (255.1.3) ... 86s Preparing to unpack .../python3-gdbm_3.12.4-2_arm64.deb ... 86s Unpacking python3-gdbm:arm64 (3.12.4-2) over (3.12.3-0ubuntu1) ... 86s Preparing to unpack .../gdisk_1.0.10-2_arm64.deb ... 86s Unpacking gdisk (1.0.10-2) over (1.0.10-1build1) ... 86s Setting up netcat-openbsd (1.226-1.1) ... 86s Setting up gdisk (1.0.10-2) ... 86s Setting up systemd-hwe-hwdb (256.2.1) ... 86s Setting up libpython3-stdlib:arm64 (3.12.4-1) ... 86s Setting up python3 (3.12.4-1) ... 87s Setting up python3-gdbm:arm64 (3.12.4-2) ... 87s Processing triggers for man-db (2.12.1-2) ... 88s Processing triggers for udev (256-1ubuntu1) ... 88s Processing triggers for libc-bin (2.39-0ubuntu9) ... 88s Reading package lists... 89s Building dependency tree... 89s Reading state information... 90s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 91s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 91s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 91s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 92s Reading package lists... 93s Reading package lists... 93s Building dependency tree... 93s Reading state information... 93s Calculating upgrade... 94s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s Reading package lists... 94s Building dependency tree... 94s Reading state information... 95s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 99s autopkgtest [18:56:03]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 99s autopkgtest [18:56:03]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 103s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (dsc) [3132 B] 103s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (tar) [1173 kB] 103s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (diff) [24.5 kB] 104s gpgv: Signature made Mon Jul 15 08:19:40 2024 UTC 104s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 104s gpgv: Can't check signature: No public key 104s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-1.dsc: no acceptable signature found 105s autopkgtest [18:56:09]: testing package translate-toolkit version 3.13.2-1 105s autopkgtest [18:56:09]: build not needed 106s autopkgtest [18:56:10]: test translate-toolkit: preparing testbed 109s Reading package lists... 109s Building dependency tree... 109s Reading state information... 110s Starting pkgProblemResolver with broken count: 0 110s Starting 2 pkgProblemResolver with broken count: 0 110s Done 110s The following additional packages will be installed: 110s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 110s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 110s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 110s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 110s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 110s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 110s python3-more-itertools python3-phply python3-ply python3-pycountry 110s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 110s python3-simplejson python3-soupsieve python3-translate python3-vobject 110s python3-wcwidth python3-xapian subversion translate-toolkit 110s Suggested packages: 110s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 110s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 110s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 110s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 110s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 110s subversion-tools 110s Recommended packages: 110s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 110s python3-cssselect python3-html5lib translate-toolkit-doc 110s The following NEW packages will be installed: 110s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 110s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 110s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 110s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 110s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 110s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 110s python3-mistletoe python3-more-itertools python3-phply python3-ply 110s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 110s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 110s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 110s translate-toolkit 110s 0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 10.0 MB/10.0 MB of archives. 110s After this operation, 47.4 MB of additional disk space will be used. 110s Get:1 /tmp/autopkgtest.zowCk5/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [884 B] 111s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 111s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 111s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-5ubuntu1 [145 kB] 111s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.22.5-1 [925 kB] 111s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 111s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.2 [105 kB] 111s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-2ubuntu1 [94.1 kB] 111s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 111s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 111s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 111s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 111s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 111s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 111s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-2 [1336 kB] 111s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 111s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 111s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.15-1 [231 kB] 111s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 111s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 111s Get:21 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 111s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.3.0-1 [54.9 kB] 111s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 111s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 111s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 111s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 111s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 111s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.9.4+ds-1 [987 kB] 111s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 111s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.2-1 [1176 kB] 111s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 111s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 111s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 111s Get:34 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 111s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 111s Get:36 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 111s Get:37 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 111s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.13.2-1 [319 kB] 111s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 111s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 111s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-2 [906 kB] 111s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.13.2-1 [81.0 kB] 111s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 111s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 112s Preconfiguring packages ... 113s Fetched 10.0 MB in 1s (8965 kB/s) 113s Selecting previously unselected package emacsen-common. 113s (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 ... 78396 files and directories currently installed.) 113s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 113s Unpacking emacsen-common (3.0.5) ... 113s Selecting previously unselected package dictionaries-common. 113s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 113s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 113s Unpacking dictionaries-common (1.29.7) ... 113s Selecting previously unselected package libgomp1:arm64. 113s Preparing to unpack .../02-libgomp1_14.1.0-5ubuntu1_arm64.deb ... 113s Unpacking libgomp1:arm64 (14.1.0-5ubuntu1) ... 113s Selecting previously unselected package gettext. 114s Preparing to unpack .../03-gettext_0.22.5-1_arm64.deb ... 114s Unpacking gettext (0.22.5-1) ... 114s Selecting previously unselected package hunspell-en-us. 114s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 114s Unpacking hunspell-en-us (1:2020.12.07-2) ... 114s Selecting previously unselected package libapr1t64:arm64. 114s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_arm64.deb ... 114s Unpacking libapr1t64:arm64 (1.7.2-3.2) ... 114s Selecting previously unselected package libaprutil1t64:arm64. 114s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_arm64.deb ... 114s Unpacking libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 114s Selecting previously unselected package libaspell15:arm64. 114s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 114s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 114s Selecting previously unselected package libhunspell-1.7-0:arm64. 115s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 115s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 115s Selecting previously unselected package libenchant-2-2:arm64. 116s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 116s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 116s Selecting previously unselected package libexttextcat-data. 116s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 116s Unpacking libexttextcat-data (3.4.7-1build1) ... 116s Selecting previously unselected package libserf-1-1:arm64. 116s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 116s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 116s Selecting previously unselected package libutf8proc3:arm64. 116s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 116s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 116s Selecting previously unselected package libsvn1:arm64. 116s Preparing to unpack .../13-libsvn1_1.14.3-2_arm64.deb ... 116s Unpacking libsvn1:arm64 (1.14.3-2) ... 116s Selecting previously unselected package libxapian30:arm64. 116s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 116s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 117s Selecting previously unselected package libxslt1.1:arm64. 117s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 117s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 117s Selecting previously unselected package python3-aeidon. 117s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 117s Unpacking python3-aeidon (1.15-1) ... 117s Selecting previously unselected package python3-soupsieve. 117s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 117s Unpacking python3-soupsieve (2.5-1) ... 117s Selecting previously unselected package python3-bs4. 118s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 118s Unpacking python3-bs4 (4.12.3-1) ... 118s Selecting previously unselected package python3-charset-normalizer. 118s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 118s Unpacking python3-charset-normalizer (3.3.2-1) ... 118s Selecting previously unselected package python3-more-itertools. 118s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 118s Unpacking python3-more-itertools (10.3.0-1) ... 118s Selecting previously unselected package python3-jaraco.functools. 118s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 118s Unpacking python3-jaraco.functools (4.0.0-1) ... 118s Selecting previously unselected package python3-cheroot. 118s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 118s Unpacking python3-cheroot (10.0.0+ds1-2) ... 118s Selecting previously unselected package python3-dateutil. 118s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 118s Unpacking python3-dateutil (2.9.0-2) ... 118s Selecting previously unselected package python3-diff-match-patch. 118s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 118s Unpacking python3-diff-match-patch (20230430-1) ... 118s Selecting previously unselected package python3-enchant. 118s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 118s Unpacking python3-enchant (3.2.2-1) ... 118s Selecting previously unselected package python3-rapidfuzz. 119s Preparing to unpack .../26-python3-rapidfuzz_3.9.4+ds-1_arm64.deb ... 119s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 119s Selecting previously unselected package python3-levenshtein. 119s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_arm64.deb ... 119s Unpacking python3-levenshtein (0.25.1-3) ... 119s Selecting previously unselected package python3-lxml:arm64. 119s Preparing to unpack .../28-python3-lxml_5.2.2-1_arm64.deb ... 119s Unpacking python3-lxml:arm64 (5.2.2-1) ... 119s Selecting previously unselected package python3-mistletoe. 119s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 119s Unpacking python3-mistletoe (1.3.0-1) ... 119s Selecting previously unselected package python3-ply. 119s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 119s Unpacking python3-ply (3.11-6) ... 119s Selecting previously unselected package python3-phply. 119s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 119s Unpacking python3-phply (1.2.6-1) ... 119s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 119s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 119s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 119s Selecting previously unselected package python3-ruamel.yaml. 119s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 119s Unpacking python3-ruamel.yaml (0.17.21-1) ... 120s Selecting previously unselected package python3-simplejson. 120s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_arm64.deb ... 120s Unpacking python3-simplejson (3.19.2-1build2) ... 120s Selecting previously unselected package python3-wcwidth. 120s Preparing to unpack .../35-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 120s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 120s Selecting previously unselected package python3-translate. 120s Preparing to unpack .../36-python3-translate_3.13.2-1_all.deb ... 120s Unpacking python3-translate (3.13.2-1) ... 120s Selecting previously unselected package python3-vobject. 120s Preparing to unpack .../37-python3-vobject_0.9.6.1-2_all.deb ... 120s Unpacking python3-vobject (0.9.6.1-2) ... 120s Selecting previously unselected package python3-xapian. 120s Preparing to unpack .../38-python3-xapian_1.4.22-1build5_arm64.deb ... 120s Unpacking python3-xapian (1.4.22-1build5) ... 120s Selecting previously unselected package subversion. 120s Preparing to unpack .../39-subversion_1.14.3-2_arm64.deb ... 120s Unpacking subversion (1.14.3-2) ... 120s Selecting previously unselected package translate-toolkit. 120s Preparing to unpack .../40-translate-toolkit_3.13.2-1_all.deb ... 120s Unpacking translate-toolkit (3.13.2-1) ... 120s Selecting previously unselected package python3-iniparse. 120s Preparing to unpack .../41-python3-iniparse_0.5-2_all.deb ... 120s Unpacking python3-iniparse (0.5-2) ... 120s Selecting previously unselected package python3-pycountry. 120s Preparing to unpack .../42-python3-pycountry_24.6.1+ds1-1_all.deb ... 120s Unpacking python3-pycountry (24.6.1+ds1-1) ... 120s Selecting previously unselected package autopkgtest-satdep. 121s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 121s Unpacking autopkgtest-satdep (0) ... 121s Setting up python3-more-itertools (10.3.0-1) ... 121s Setting up libxapian30:arm64 (1.4.22-1build1) ... 121s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 121s Setting up python3-diff-match-patch (20230430-1) ... 121s Setting up python3-jaraco.functools (4.0.0-1) ... 121s Setting up python3-aeidon (1.15-1) ... 122s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 122s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 122s Setting up python3-charset-normalizer (3.3.2-1) ... 122s Setting up python3-ply (3.11-6) ... 122s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 122s Setting up libgomp1:arm64 (14.1.0-5ubuntu1) ... 122s Setting up python3-simplejson (3.19.2-1build2) ... 122s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 123s Setting up emacsen-common (3.0.5) ... 123s Setting up python3-cheroot (10.0.0+ds1-2) ... 123s Setting up python3-pycountry (24.6.1+ds1-1) ... 123s Setting up python3-xapian (1.4.22-1build5) ... 123s Setting up python3-ruamel.yaml (0.17.21-1) ... 124s Setting up python3-mistletoe (1.3.0-1) ... 124s Setting up libexttextcat-data (3.4.7-1build1) ... 124s Setting up libapr1t64:arm64 (1.7.2-3.2) ... 124s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 124s Setting up python3-dateutil (2.9.0-2) ... 124s Setting up python3-levenshtein (0.25.1-3) ... 124s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 124s Setting up python3-soupsieve (2.5-1) ... 125s Setting up python3-iniparse (0.5-2) ... 125s Setting up libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 125s Setting up python3-vobject (0.9.6.1-2) ... 125s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 125s patterns['name'] = '[a-zA-Z0-9\-_]+' 125s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 125s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 125s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 125s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 125s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 125s """ 125s Setting up gettext (0.22.5-1) ... 125s Setting up python3-phply (1.2.6-1) ... 125s Setting up dictionaries-common (1.29.7) ... 126s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 126s Setting up python3-bs4 (4.12.3-1) ... 126s Setting up python3-lxml:arm64 (5.2.2-1) ... 126s Setting up hunspell-en-us (1:2020.12.07-2) ... 126s Setting up libsvn1:arm64 (1.14.3-2) ... 126s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 126s Setting up subversion (1.14.3-2) ... 126s Setting up python3-enchant (3.2.2-1) ... 126s Setting up python3-translate (3.13.2-1) ... 127s Setting up translate-toolkit (3.13.2-1) ... 127s Setting up autopkgtest-satdep (0) ... 127s Processing triggers for man-db (2.12.1-2) ... 128s Processing triggers for install-info (7.1-3build2) ... 129s Processing triggers for libc-bin (2.39-0ubuntu9) ... 129s Processing triggers for dictionaries-common (1.29.7) ... 141s (Reading database ... 81868 files and directories currently installed.) 141s Removing autopkgtest-satdep (0) ... 142s autopkgtest [18:56:46]: test translate-toolkit: [----------------------- 142s ========= SMOKE TEST: /usr/bin/android2po =========== 142s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 142s 142s Convert Android string files to Gettext PO localization files. See: 142s http://docs.translatehouse.org/projects/translate- 142s toolkit/en/latest/commands/android2po.html for examples and usage 142s instructions. 142s 142s Options: 142s --version show program's version number and exit 142s -h, --help show this help message and exit 142s --manpage output a manpage based on the help 142s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 142s --errorlevel=ERRORLEVEL 142s show errorlevel as: none, message, exception, 142s traceback 142s -i INPUT, --input=INPUT 142s read from INPUT in xml format 142s -x EXCLUDE, --exclude=EXCLUDE 142s exclude names matching EXCLUDE from input paths 142s -o OUTPUT, --output=OUTPUT 142s write to OUTPUT in po, pot formats 142s -t TEMPLATE, --template=TEMPLATE 142s read from TEMPLATE in xml format 142s -S, --timestamp skip conversion if the output file has newer timestamp 142s --duplicates=DUPLICATESTYLE 142s what to do with duplicate strings (identical source 142s text): merge, msgctxt (default: 'msgctxt') 143s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 143s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 143s input files [input files ...] 143s 143s positional arguments: 143s input files 143s 143s options: 143s -h, --help show this help message and exit 143s -d TMDB_FILE, --tmdb TMDB_FILE 143s translation memory database file (default: tm.db) 143s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 143s source language of translation files (default: en) 143s -t TARGET_LANG, --import-target-lang TARGET_LANG 143s target language of translation files 143s ========= SMOKE TEST: /usr/bin/csv2po =========== 143s 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] 143s 143s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 143s See: http://docs.translatehouse.org/projects/translate- 143s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 143s 143s Options: 143s --version show program's version number and exit 143s -h, --help show this help message and exit 143s --manpage output a manpage based on the help 143s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 143s --errorlevel=ERRORLEVEL 143s show errorlevel as: none, message, exception, 143s traceback 143s -i INPUT, --input=INPUT 143s read from INPUT in csv format 143s -x EXCLUDE, --exclude=EXCLUDE 143s exclude names matching EXCLUDE from input paths 143s -o OUTPUT, --output=OUTPUT 143s write to OUTPUT in po, pot formats 143s -t TEMPLATE, --template=TEMPLATE 143s read from TEMPLATE in po, pot, pot formats 143s -S, --timestamp skip conversion if the output file has newer timestamp 143s -P, --pot output PO Templates (.pot) rather than PO files (.po) 143s --charset=CHARSET set charset to decode from csv files 143s --columnorder=COLUMNORDER 143s specify the order and position of columns 143s (location,source,target,context) 143s --duplicates=DUPLICATESTYLE 143s what to do with duplicate strings (identical source 143s text): merge, msgctxt (default: 'msgctxt') 143s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 143s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 143s 143s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 143s glossary file. See: http://docs.translatehouse.org/projects/translate- 143s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 143s 143s Options: 143s --version show program's version number and exit 143s -h, --help show this help message and exit 143s --manpage output a manpage based on the help 143s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 143s --errorlevel=ERRORLEVEL 143s show errorlevel as: none, message, exception, 143s traceback 143s -i INPUT, --input=INPUT 143s read from INPUT in csv format 143s -x EXCLUDE, --exclude=EXCLUDE 143s exclude names matching EXCLUDE from input paths 143s -o OUTPUT, --output=OUTPUT 143s write to OUTPUT in tbx format 143s -S, --timestamp skip conversion if the output file has newer timestamp 143s --charset=CHARSET set charset to decode from csv files 143s --columnorder=COLUMNORDER 143s specify the order and position of columns 143s (comment,source,target) 144s ========= SMOKE TEST: /usr/bin/dtd2po =========== 144s 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] 144s 144s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 144s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 144s this module You can convert back to .dtd using po2dtd.py. 144s 144s Options: 144s --version show program's version number and exit 144s -h, --help show this help message and exit 144s --manpage output a manpage based on the help 144s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 144s --errorlevel=ERRORLEVEL 144s show errorlevel as: none, message, exception, 144s traceback 144s -i INPUT, --input=INPUT 144s read from INPUT in dtd format 144s -x EXCLUDE, --exclude=EXCLUDE 144s exclude names matching EXCLUDE from input paths 144s -o OUTPUT, --output=OUTPUT 144s write to OUTPUT in po, pot formats 144s -t TEMPLATE, --template=TEMPLATE 144s read from TEMPLATE in dtd format 144s -S, --timestamp skip conversion if the output file has newer timestamp 144s -P, --pot output PO Templates (.pot) rather than PO files (.po) 144s --duplicates=DUPLICATESTYLE 144s what to do with duplicate strings (identical source 144s text): merge, msgctxt (default: 'msgctxt') 144s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 144s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 144s 144s Convert flat XML files to Gettext PO localization files. See: 144s http://docs.translatehouse.org/projects/translate- 144s toolkit/en/latest/commands/flatxml2po.html for examples and usage 144s instructions. 144s 144s Options: 144s --version show program's version number and exit 144s -h, --help show this help message and exit 144s --manpage output a manpage based on the help 144s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 144s --errorlevel=ERRORLEVEL 144s show errorlevel as: none, message, exception, 144s traceback 144s -i INPUT, --input=INPUT 144s read from INPUT in xml format 144s -x EXCLUDE, --exclude=EXCLUDE 144s exclude names matching EXCLUDE from input paths 144s -o OUTPUT, --output=OUTPUT 144s write to OUTPUT in po, pot formats 144s -S, --timestamp skip conversion if the output file has newer timestamp 144s -r ROOT, --root=ROOT name of the XML root element (default: "root") 144s -v VALUE, --value=VALUE 144s name of the XML value element (default: "str") 144s -k KEY, --key=KEY name of the XML key attribute (default: "key") 144s -n NS, --namespace=NS 144s XML namespace uri (default: None) 144s ========= SMOKE TEST: /usr/bin/html2po =========== 144s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 144s 144s Convert HTML files to Gettext PO localization files. See: 144s http://docs.translatehouse.org/projects/translate- 144s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 144s 144s Options: 144s --version show program's version number and exit 144s -h, --help show this help message and exit 144s --manpage output a manpage based on the help 144s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 144s --errorlevel=ERRORLEVEL 144s show errorlevel as: none, message, exception, 144s traceback 144s -i INPUT, --input=INPUT 144s read from INPUT in htm, html, xhtml formats 144s -x EXCLUDE, --exclude=EXCLUDE 144s exclude names matching EXCLUDE from input paths 144s -o OUTPUT, --output=OUTPUT 144s write to OUTPUT in po, pot formats 144s -S, --timestamp skip conversion if the output file has newer timestamp 144s -P, --pot output PO Templates (.pot) rather than PO files (.po) 144s --keepcomments preserve html comments as translation notes in the 144s output 144s --duplicates=DUPLICATESTYLE 144s what to do with duplicate strings (identical source 144s text): merge, msgctxt (default: 'msgctxt') 144s --multifile=MULTIFILESTYLE 144s how to split po/pot files (single, toplevel or 144s onefile) 144s ========= SMOKE TEST: /usr/bin/ical2po =========== 145s 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] 145s 145s Convert iCalendar files to Gettext PO localization files. See: 145s http://docs.translatehouse.org/projects/translate- 145s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 145s 145s Options: 145s --version show program's version number and exit 145s -h, --help show this help message and exit 145s --manpage output a manpage based on the help 145s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 145s --errorlevel=ERRORLEVEL 145s show errorlevel as: none, message, exception, 145s traceback 145s -i INPUT, --input=INPUT 145s read from INPUT in ics format 145s -x EXCLUDE, --exclude=EXCLUDE 145s exclude names matching EXCLUDE from input paths 145s -o OUTPUT, --output=OUTPUT 145s write to OUTPUT in po, pot formats 145s -t TEMPLATE, --template=TEMPLATE 145s read from TEMPLATE in ics format 145s -S, --timestamp skip conversion if the output file has newer timestamp 145s -P, --pot output PO Templates (.pot) rather than PO files (.po) 145s --duplicates=DUPLICATESTYLE 145s what to do with duplicate strings (identical source 145s text): merge, msgctxt (default: 'msgctxt') 145s ========= SMOKE TEST: /usr/bin/idml2po =========== 145s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 145s 145s Convert IDML files to PO localization files. 145s 145s Options: 145s --version show program's version number and exit 145s -h, --help show this help message and exit 145s --manpage output a manpage based on the help 145s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 145s --errorlevel=ERRORLEVEL 145s show errorlevel as: none, message, exception, 145s traceback 145s -i INPUT, --input=INPUT 145s read from INPUT in idml format 145s -x EXCLUDE, --exclude=EXCLUDE 145s exclude names matching EXCLUDE from input paths 145s -o OUTPUT, --output=OUTPUT 145s write to OUTPUT in po, pot formats 145s -S, --timestamp skip conversion if the output file has newer timestamp 145s ========= SMOKE TEST: /usr/bin/ini2po =========== 146s 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] 146s 146s Convert .ini files to Gettext PO localization files. See: 146s http://docs.translatehouse.org/projects/translate- 146s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 146s 146s Options: 146s --version show program's version number and exit 146s -h, --help show this help message and exit 146s --manpage output a manpage based on the help 146s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 146s --errorlevel=ERRORLEVEL 146s show errorlevel as: none, message, exception, 146s traceback 146s -i INPUT, --input=INPUT 146s read from INPUT in ini, isl, iss formats 146s -x EXCLUDE, --exclude=EXCLUDE 146s exclude names matching EXCLUDE from input paths 146s -o OUTPUT, --output=OUTPUT 146s write to OUTPUT in po, pot formats 146s -t TEMPLATE, --template=TEMPLATE 146s read from TEMPLATE in ini, isl, iss formats 146s -S, --timestamp skip conversion if the output file has newer timestamp 146s -P, --pot output PO Templates (.pot) rather than PO files (.po) 146s --duplicates=DUPLICATESTYLE 146s what to do with duplicate strings (identical source 146s text): merge, msgctxt (default: 'msgctxt') 146s ========= SMOKE TEST: /usr/bin/json2po =========== 146s 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] 146s 146s Convert JSON files to Gettext PO localization files. See: 146s http://docs.translatehouse.org/projects/translate- 146s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 146s 146s Options: 146s --version show program's version number and exit 146s -h, --help show this help message and exit 146s --manpage output a manpage based on the help 146s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 146s --errorlevel=ERRORLEVEL 146s show errorlevel as: none, message, exception, 146s traceback 146s -i INPUT, --input=INPUT 146s read from INPUT in json format 146s -x EXCLUDE, --exclude=EXCLUDE 146s exclude names matching EXCLUDE from input paths 146s -o OUTPUT, --output=OUTPUT 146s write to OUTPUT in po, pot formats 146s -t TEMPLATE, --template=TEMPLATE 146s read from TEMPLATE in json format 146s -S, --timestamp skip conversion if the output file has newer timestamp 146s -P, --pot output PO Templates (.pot) rather than PO files (.po) 146s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 146s everything) 146s --duplicates=DUPLICATESTYLE 146s what to do with duplicate strings (identical source 146s text): merge, msgctxt (default: 'msgctxt') 146s ========= SMOKE TEST: /usr/bin/md2po =========== 147s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 147s 147s Convert Markdown files to Gettext PO localization files. See: 147s http://docs.translatehouse.org/projects/translate- 147s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 147s 147s Options: 147s --version show program's version number and exit 147s -h, --help show this help message and exit 147s --manpage output a manpage based on the help 147s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 147s --errorlevel=ERRORLEVEL 147s show errorlevel as: none, message, exception, 147s traceback 147s -i INPUT, --input=INPUT 147s read from INPUT in markdown, md, text, txt formats 147s -x EXCLUDE, --exclude=EXCLUDE 147s exclude names matching EXCLUDE from input paths 147s -o OUTPUT, --output=OUTPUT 147s write to OUTPUT in po, pot formats 147s -S, --timestamp skip conversion if the output file has newer timestamp 147s -P, --pot output PO Templates (.pot) rather than PO files (.po) 147s --duplicates=DUPLICATESTYLE 147s what to do with duplicate strings (identical source 147s text): merge, msgctxt (default: 'msgctxt') 147s --multifile=MULTIFILESTYLE 147s how to split po/pot files (single, toplevel or 147s onefile) 147s ========= SMOKE TEST: /usr/bin/moz2po =========== 148s 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] 148s 148s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 148s See: http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in *, dtd, inc, ini, it, js, lang, 148s manifest, properties, rdf formats 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 148s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 148s lang.pot, manifest, properties.po, properties.pot, rdf 148s formats 148s -t TEMPLATE, --template=TEMPLATE 148s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 148s manifest, properties, rdf formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 148s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 148s 148s Convert Mozilla .lang files to Gettext PO localization files. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in lang format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --encoding=ENCODING The encoding of the input file (default: UTF-8) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s ========= SMOKE TEST: /usr/bin/msghack =========== 148s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 148s This program can be used to alter .po files in ways no sane mind would think about. 148s -o result will be written to FILE 148s --invert invert a po file by switching msgid and msgstr 148s --master join any number of files in a master-formatted catalog 148s --empty empty the contents of the .po file, creating a .pot 148s --append append entries from ref.po that don't exist in file.po 148s 148s Note: It is just a replacement of msghack for backward support. 148s 148s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 149s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 149s 149s Convert OpenDocument (ODF) files to XLIFF localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 149s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 149s formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in xlf, xliff formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s ========= SMOKE TEST: /usr/bin/oo2po =========== 149s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 149s 149s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 149s files. See: http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in oo, sdf formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s -l LANG, --language=LANG 149s set target language to extract from oo file (e.g. af- 149s ZA) 149s --source-language=LANG 149s set source language code (default en-US) 149s --nonrecursiveinput don't treat the input oo as a recursive store 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s --multifile=MULTIFILESTYLE 149s how to split po/pot files (single, toplevel or 149s onefile) 149s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 149s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 149s 149s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 149s files. See: http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in oo, sdf formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in xlf, xliff formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -l LANG, --language=LANG 149s set target language to extract from oo file (e.g. af- 149s ZA) 149s --source-language=LANG 149s set source language code (default en-US) 149s --nonrecursiveinput don't treat the input oo as a recursive store 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s --multifile=MULTIFILESTYLE 149s how to split po/pot files (single, toplevel or 149s onefile) 149s ========= SMOKE TEST: /usr/bin/php2po =========== 149s 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] 149s 149s Convert PHP localization files to Gettext PO localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in html, php formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -t TEMPLATE, --template=TEMPLATE 149s read from TEMPLATE in html, php formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 150s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 150s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert PHP format .po files to Python format .po files. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s ========= SMOKE TEST: /usr/bin/po2csv =========== 150s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 150s See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in csv format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --columnorder=COLUMNORDER 150s specify the order and position of columns 150s (location,source,target,context) 150s ========= SMOKE TEST: /usr/bin/po2dtd =========== 150s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 150s 150s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 150s Conversion is either done using a template plus PO file or just using the 150s .po file. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in dtd format 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in dtd format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --threshold=PERCENT only convert files where the translation completion is 150s above PERCENT 150s --fuzzy use translations marked fuzzy 150s --nofuzzy don't use translations marked fuzzy (default) 150s --removeuntranslated remove untranslated strings from output 150s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 151s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to flat XML files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/flatxml2po.html for examples and usage 151s instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in xml format 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in xml format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -r ROOT, --root=ROOT name of the XML root element (default: "root") 151s -v VALUE, --value=VALUE 151s name of the XML value element (default: "str") 151s -k KEY, --key=KEY name of the XML key attribute (default: "key") 151s -n NS, --namespace=NS 151s XML namespace uri (default: None) 151s -w INDENT, --indent=INDENT 151s indent width in spaces, 0 for no indent (default: 2) 151s ========= SMOKE TEST: /usr/bin/po2html =========== 151s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Translate HTML files using Gettext PO localization files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in htm, html, xhtml formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in htm, html, xhtml formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s ========= SMOKE TEST: /usr/bin/po2ical =========== 151s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to iCalendar files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in ics format 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in ics format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s ========= SMOKE TEST: /usr/bin/po2idml =========== 152s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Takes an IDML template file and a PO file containing translations of strings 152s in the IDML template. It creates a new IDML file using the translations of the 152s PO file. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in idml format 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in idml format 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s ========= SMOKE TEST: /usr/bin/po2ini =========== 152s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to .ini files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in ini, isl formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in ini, isl formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2json =========== 153s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to JSON files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in json format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in json format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s --removeuntranslated remove untranslated strings from output 153s ========= SMOKE TEST: /usr/bin/po2md =========== 154s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Translate Markdown files using Gettext PO localization files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in markdown, md, text, txt formats 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in markdown, md, text, txt formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s -m MAXLENGTH, --maxlinelength=MAXLENGTH 154s reflow (word wrap) the output to the given maximum 154s line length. set to 0 to disable 154s --threshold=PERCENT only convert files where the translation completion is 154s above PERCENT 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s ========= SMOKE TEST: /usr/bin/po2moz =========== 155s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 155s See: http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in *, dtd.po, dtd.pot, inc.po, 155s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 155s lang.pot, manifest, properties.po, properties.pot, rdf 155s formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 155s manifest, properties, rdf formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 155s manifest, properties, rdf formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -l LOCALE, --locale=LOCALE 155s set output locale (required as this sets the directory 155s names) 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 155s --removeuntranslated remove untranslated strings from output 155s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 156s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localization files to Mozilla .lang files. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in lang format 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in lang format 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s --mark-active mark the file as active 156s --threshold=PERCENT only convert files where the translation completion is 156s above PERCENT 156s --fuzzy use translations marked fuzzy 156s --nofuzzy don't use translations marked fuzzy (default) 156s ========= SMOKE TEST: /usr/bin/po2oo =========== 156s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 156s file. See: http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot, xlf, xliff formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in oo, sdf formats 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in oo, sdf formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -l LANG, --language=LANG 156s set target language code (e.g. af-ZA) [required] 156s --source-language=LANG 156s set source language code (default en-US) 156s -T, --keeptimestamp don't change the timestamps of the strings 156s --nonrecursiveoutput don't treat the output oo as a recursive store 156s --nonrecursivetemplate 156s don't treat the template oo as a recursive store 156s --skipsource don't output the source language, but fallback to it 156s where needed 156s --filteraction=ACTION 156s action on pofilter failure: none (default), warn, 156s exclude-serious, exclude-all 156s --threshold=PERCENT only convert files where the translation completion is 156s above PERCENT 156s --fuzzy use translations marked fuzzy 156s --nofuzzy don't use translations marked fuzzy (default) 156s --multifile=MULTIFILESTYLE 156s how to split po/pot files (single, toplevel or 156s onefile) 157s ========= SMOKE TEST: /usr/bin/po2php =========== 157s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files to PHP localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in html, php formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in html, php formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s ========= SMOKE TEST: /usr/bin/po2prop =========== 157s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files to Java/Mozilla .properties files. 157s See: http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in lang, properties, strings formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in lang, properties, strings 157s formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --personality=TYPE override the input file format: java, java-utf8, java- 157s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 157s strings, strings-utf8, joomla (for .properties files, 157s default: java) 157s --encoding=ENCODING override the encoding set by the personality 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s --removeuntranslated remove untranslated strings from output 157s ========= SMOKE TEST: /usr/bin/po2rc =========== 157s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files back to Windows Resource (.rc) files. 157s See: http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in rc format 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in rc format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 157s -l LANG, --lang=LANG LANG entry 157s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 158s ========= SMOKE TEST: /usr/bin/po2resx =========== 158s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 158s 158s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in resx format 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in resx format 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --fuzzy use translations marked fuzzy 158s --nofuzzy don't use translations marked fuzzy (default) 158s ========= SMOKE TEST: /usr/bin/po2sub =========== 158s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 158s 158s Convert Gettext PO localization files to subtitle files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in ass, srt, ssa, sub formats 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in ass, srt, ssa, sub formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --threshold=PERCENT only convert files where the translation completion is 158s above PERCENT 158s --fuzzy use translations marked fuzzy 158s --nofuzzy don't use translations marked fuzzy (default) 158s ========= SMOKE TEST: /usr/bin/po2symb =========== 158s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 158s 158s Convert Gettext PO localization files to Symbian translation files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in r0 format 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --duplicates=DUPLICATESTYLE 158s what to do with duplicate strings (identical source 158s text): merge, msgctxt (default: 'msgctxt') 158s ========= SMOKE TEST: /usr/bin/po2tiki =========== 158s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 158s 158s Convert Gettext PO files to TikiWiki's language.php files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in tiki format 158s -S, --timestamp skip conversion if the output file has newer timestamp 159s ========= SMOKE TEST: /usr/bin/po2tmx =========== 159s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 159s 159s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 159s file. See: http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in po, pot formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in tmx format 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -l LANG, --language=LANG 159s set target language code (e.g. af-ZA) [required] 159s --source-language=LANG 159s set source language code (default: en) 159s --comments=COMMENT set default comment import: none, source, type or 159s others (default: none) 159s ========= SMOKE TEST: /usr/bin/po2ts =========== 159s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 159s 159s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in po, pot formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in ts format 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in ts format 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -c CONTEXT, --context=CONTEXT 159s use supplied context instead of the one in the .po 159s file comment 159s ========= SMOKE TEST: /usr/bin/po2txt =========== 160s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 160s 160s Convert Gettext PO localization files to plain text (.txt) files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in po, pot, xlf, xliff formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in txt format 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in txt format 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s --encoding=ENCODING The encoding of the template file (default: UTF-8) 160s -w WRAP, --wrap=WRAP set number of columns to wrap text at 160s --threshold=PERCENT only convert files where the translation completion is 160s above PERCENT 160s --fuzzy use translations marked fuzzy 160s --nofuzzy don't use translations marked fuzzy (default) 160s ========= SMOKE TEST: /usr/bin/po2web2py =========== 160s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 160s 160s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in po, pot formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in py format 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s --threshold=PERCENT only convert files where the translation completion is 160s above PERCENT 160s --fuzzy use translations marked fuzzy 160s --nofuzzy don't use translations marked fuzzy (default) 160s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 160s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 160s 160s Convert Gettext PO localization files to a Wordfast translation memory file. 160s See: http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/po2wordfast.html for examples and usage 160s instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in po, pot formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in txt format 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -l LANG, --language=LANG 160s set target language code (e.g. af-ZA) [required] 160s --source-language=LANG 160s set source language code (default: en) 160s ========= SMOKE TEST: /usr/bin/po2xliff =========== 160s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 160s 160s Convert Gettext PO localization files to XLIFF localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in po, pot formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in xlf, xliff formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in xlf, xliff formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 161s ========= SMOKE TEST: /usr/bin/po2yaml =========== 161s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 161s 161s Convert Gettext PO localization files to YAML files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in po, pot formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in yaml, yml formats 161s -t TEMPLATE, --template=TEMPLATE 161s read from TEMPLATE in yaml, yml formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s --threshold=PERCENT only convert files where the translation completion is 161s above PERCENT 161s --fuzzy use translations marked fuzzy 161s --nofuzzy don't use translations marked fuzzy (default) 161s ========= SMOKE TEST: /usr/bin/poclean =========== 161s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 161s 161s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 161s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 161s produces the target file with only the target text in from a text version of 161s the RTF. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in po, pot, xlf, xliff formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot, xlf, xliff formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s ========= SMOKE TEST: /usr/bin/pocompendium =========== 162s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 162s The first parameter is the output file, standard output if the output file is '-'. 162s Any number of directories may be specified for input files. 162s Options: 162s --invert|v Creates an inverse compendium with msgid and msgstr swapped 162s --errors|e Only ouput msg bundles that have errors 162s --correct|c Only ouput msg bundles that are correctly translated 162s --ignore-case|i Drops all strings to lowercase 162s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 162s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 162s --strip-accel-under|-su Strip all underscore (_) accelerator characters 162s ========= SMOKE TEST: /usr/bin/pocompile =========== 162s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 162s 162s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 162s Object) files. See: http://docs.translatehouse.org/projects/translate- 162s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in po, pot, xlf, xliff formats 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in mo format 162s -S, --timestamp skip conversion if the output file has newer timestamp 162s --fuzzy use translations marked fuzzy 162s --nofuzzy don't use translations marked fuzzy (default) 162s ========= SMOKE TEST: /usr/bin/poconflicts =========== 162s 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] 162s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 162s 162s Conflict finder for Gettext PO localization files. See: 162s http://docs.translatehouse.org/projects/translate- 162s toolkit/en/latest/commands/poconflicts.html for examples and usage 162s instructions. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in po format 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in po format 162s -I, --ignore-case ignore case distinctions 162s -v, --invert invert the conflicts thus extracting conflicting 162s destination words 162s --accelerator=ACCELERATORS 162s ignores the given accelerator characters when matching 162s ========= SMOKE TEST: /usr/bin/pocount =========== 162s usage: pocount [-h] [--incomplete] 162s [--full | --csv | --short | --short-strings | --short-words] 162s [--no-color] 162s files [files ...] 162s 162s positional arguments: 162s files 162s 162s options: 162s -h, --help show this help message and exit 162s --incomplete skip 100% translated files. 162s 162s Output format: 162s --full (default) statistics in full, verbose format 162s --csv statistics in CSV format 162s --short same as --short-strings 162s --short-strings statistics of strings in short format - one line per file 162s --short-words statistics of words in short format - one line per file 162s --no-color show output without color 163s ========= SMOKE TEST: /usr/bin/podebug =========== 163s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 163s 163s Insert debug messages into XLIFF and Gettext PO localization files. See: 163s http://docs.translatehouse.org/projects/translate- 163s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 163s 163s Options: 163s --version show program's version number and exit 163s -h, --help show this help message and exit 163s --manpage output a manpage based on the help 163s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 163s --errorlevel=ERRORLEVEL 163s show errorlevel as: none, message, exception, 163s traceback 163s -i INPUT, --input=INPUT 163s read from INPUT in po, pot, pot, tmx, xlf, xliff 163s formats 163s -x EXCLUDE, --exclude=EXCLUDE 163s exclude names matching EXCLUDE from input paths 163s -o OUTPUT, --output=OUTPUT 163s write to OUTPUT in po, pot, tmx, xlf, xliff formats 163s -S, --timestamp skip conversion if the output file has newer timestamp 163s -f FORMAT, --format=FORMAT 163s specify format string 163s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 163s classified, en, flipped, unicode, xxx 163s --ignore=APPLICATION apply tagging ignore rules for the given application: 163s gtk, kde, libreoffice, mozilla, openoffice 163s --preserveplaceholders 163s attempt to exclude characters that are part of 163s placeholders when performing character-level rewrites 163s so that consuming applications can still use the 163s placeholders to generate final output 164s ========= SMOKE TEST: /usr/bin/pofilter =========== 164s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 164s 164s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 164s Snippet files are created whenever a test fails. These can be examined, 164s corrected and merged back into the originals using pomerge. See: 164s http://docs.translatehouse.org/projects/translate- 164s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 164s and http://docs.translatehouse.org/projects/translate- 164s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 164s tests. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in po, pot, tmx, xlf, xliff formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in po, pot, tmx, xlf, xliff formats 164s -l, --listfilters list filters available 164s --review include units marked for review (default) 164s --noreview exclude units marked for review 164s --fuzzy include units marked fuzzy (default) 164s --nofuzzy exclude units marked fuzzy 164s --nonotes don't add notes about the errors 164s --autocorrect output automatic corrections where possible rather 164s than describing issues 164s --language=LANG set target language code (e.g. af-ZA) [required for 164s spell check and recommended in general] 164s --openoffice use the standard checks for OpenOffice translations 164s --libreoffice use the standard checks for LibreOffice translations 164s --mozilla use the standard checks for Mozilla translations 164s --drupal use the standard checks for Drupal translations 164s --gnome use the standard checks for Gnome translations 164s --kde use the standard checks for KDE translations 164s --wx use the standard checks for wxWidgets translations 164s --excludefilter=FILTER 164s don't use FILTER when filtering 164s -t FILTER, --test=FILTER 164s only use test FILTERs specified with this option when 164s filtering 164s --notranslatefile=FILE 164s read list of untranslatable words from FILE (must not 164s be translated) 164s --musttranslatefile=FILE 164s read list of translatable words from FILE (must be 164s translated) 164s --validcharsfile=FILE 164s read list of all valid characters from FILE (must be 164s in UTF-8) 164s ========= SMOKE TEST: /usr/bin/pogrep =========== 164s 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] 164s 164s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 164s snippet files of the same type which can then be reviewed and later merged 164s using :doc:`pomerge `. See: 164s http://docs.translatehouse.org/projects/translate- 164s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 164s xliff formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 164s xliff formats 164s --search=SEARCHPARTS searches the given parts (source, target, notes and 164s locations) 164s -I, --ignore-case ignore case distinctions 164s -e, --regexp use regular expression matching 164s -v, --invert-match select non-matching lines 164s --accelerator=ACCELERATOR 164s ignores the given accelerator when matching 164s -k, --keep-translations 164s always extract units with translations 164s ========= SMOKE TEST: /usr/bin/pomerge =========== 165s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 165s 165s Merges XLIFF and Gettext PO localization files. Snippet file produced by 165s e.g. :doc:`pogrep ` and updated by a translator can be 165s merged back into the original files. See: 165s http://docs.translatehouse.org/projects/translate- 165s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 165s 165s Options: 165s --version show program's version number and exit 165s -h, --help show this help message and exit 165s --manpage output a manpage based on the help 165s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 165s --errorlevel=ERRORLEVEL 165s show errorlevel as: none, message, exception, 165s traceback 165s -i INPUT, --input=INPUT 165s read from INPUT in po, pot, pot, xlf, xliff formats 165s -x EXCLUDE, --exclude=EXCLUDE 165s exclude names matching EXCLUDE from input paths 165s -o OUTPUT, --output=OUTPUT 165s write to OUTPUT in po, pot, pot, xlf, xliff formats 165s -t TEMPLATE, --template=TEMPLATE 165s read from TEMPLATE in po, pot, pot, xlf, xliff formats 165s -S, --timestamp skip conversion if the output file has newer timestamp 165s --mergeblanks=MERGEBLANKS 165s whether to overwrite existing translations with blank 165s translations (yes/no). Default is yes. 165s --mergefuzzy=MERGEFUZZY 165s whether to consider fuzzy translations from input 165s (yes/no). Default is yes. 165s --mergecomments=MERGECOMMENTS 165s whether to merge comments as well as translations 165s (yes/no). Default is yes. 165s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 165s Usage pomigrate2 [options] 165s 165s Options: 165s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 165s -C|--use-compendium - create and use a compendium built from the migrating files 165s -C|--use-compendium=some-compendium.po 165s - use an external compendium during the migration 165s --no-wrap - do not wrap long lines 165s --locale=lang - set locale for newly born files 165s -q|--quiet - suppress most output 165s -p|--pot2po - use pot2po instead of msgmerge to migrate 165s ========= SMOKE TEST: /usr/bin/popuretext =========== 165s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 165s ========= SMOKE TEST: /usr/bin/poreencode =========== 165s Usage: poreencode 165s eg: poreencode UTF-8 af/ 166s ========= SMOKE TEST: /usr/bin/porestructure =========== 166s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 166s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 166s 166s Restructure Gettxt PO files produced by :doc:`poconflicts 166s ` into the original directory tree for merging using 166s :doc:`pomerge `. See: 166s http://docs.translatehouse.org/projects/translate- 166s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 166s 166s Options: 166s --version show program's version number and exit 166s -h, --help show this help message and exit 166s --manpage output a manpage based on the help 166s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 166s --errorlevel=ERRORLEVEL 166s show errorlevel as: none, message, exception, 166s traceback 166s -i INPUT, --input=INPUT 166s read from INPUT in po format 166s -x EXCLUDE, --exclude=EXCLUDE 166s exclude names matching EXCLUDE from input paths 166s -o OUTPUT, --output=OUTPUT 166s write to OUTPUT in po format 166s ========= SMOKE TEST: /usr/bin/posegment =========== 167s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 167s 167s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 167s See: http://docs.translatehouse.org/projects/translate- 167s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 167s 167s Options: 167s --version show program's version number and exit 167s -h, --help show this help message and exit 167s --manpage output a manpage based on the help 167s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 167s --errorlevel=ERRORLEVEL 167s show errorlevel as: none, message, exception, 167s traceback 167s -i INPUT, --input=INPUT 167s read from INPUT in po, pot, tmx, xlf, xliff formats 167s -x EXCLUDE, --exclude=EXCLUDE 167s exclude names matching EXCLUDE from input paths 167s -o OUTPUT, --output=OUTPUT 167s write to OUTPUT in po, pot, tmx, xlf, xliff formats 167s -S, --timestamp skip conversion if the output file has newer timestamp 167s -P, --pot output PO Templates (.pot) rather than PO files (.po) 167s -l LANG, --language=LANG 167s the target language code 167s --source-language=LANG 167s the source language code (default 'en') 167s --keepspaces Disable automatic stripping of whitespace 167s --only-aligned Removes units where sentence number does not 167s correspond 167s ========= SMOKE TEST: /usr/bin/poswap =========== 169s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 169s 169s Builds a new translation file with the target of the input language as source 169s language. .. note:: Ensure that the two po files correspond 100% to the same 169s pot file before using this. To translate Kurdish (ku) through French:: 169s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 169s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 169s http://docs.translatehouse.org/projects/translate- 169s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 169s 169s Options: 169s --version show program's version number and exit 169s -h, --help show this help message and exit 169s --manpage output a manpage based on the help 169s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 169s --errorlevel=ERRORLEVEL 169s show errorlevel as: none, message, exception, 169s traceback 169s -i INPUT, --input=INPUT 169s read from INPUT in po, pot formats 169s -x EXCLUDE, --exclude=EXCLUDE 169s exclude names matching EXCLUDE from input paths 169s -o OUTPUT, --output=OUTPUT 169s write to OUTPUT in po, pot formats 169s -t TEMPLATE, --template=TEMPLATE 169s read from TEMPLATE in po, pot, pot formats 169s -S, --timestamp skip conversion if the output file has newer timestamp 169s --reverse reverse the process of intermediate language 169s conversion 170s ========= SMOKE TEST: /usr/bin/pot2po =========== 171s 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] 171s 171s Convert template files (like .pot or template .xlf files) to translation 171s files, preserving existing translations. See: 171s http://docs.translatehouse.org/projects/translate- 171s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 171s 171s Options: 171s --version show program's version number and exit 171s -h, --help show this help message and exit 171s --manpage output a manpage based on the help 171s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 171s --errorlevel=ERRORLEVEL 171s show errorlevel as: none, message, exception, 171s traceback 171s -i INPUT, --input=INPUT 171s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 171s formats 171s -x EXCLUDE, --exclude=EXCLUDE 171s exclude names matching EXCLUDE from input paths 171s -o OUTPUT, --output=OUTPUT 171s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 171s xliff formats 171s -t TEMPLATE, --template=TEMPLATE 171s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 171s xliff formats 171s -S, --timestamp skip conversion if the output file has newer timestamp 171s -P, --pot output PO Templates (.pot) rather than PO files (.po) 171s --tm=TM The file to use as translation memory when fuzzy 171s matching 171s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 171s The minimum similarity for inclusion (default: 75%) 171s --nofuzzymatching Disable fuzzy matching 172s ========= SMOKE TEST: /usr/bin/poterminology =========== 173s 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] 173s input directory is searched for PO files, terminology PO file is output file 173s 173s Create a terminology file by reading a set of .po or .pot files to produce a 173s pootle-terminology.pot. See: 173s http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/poterminology.html for examples and usage 173s instructions. 173s 173s Options: 173s --version show program's version number and exit 173s -h, --help show this help message and exit 173s --manpage output a manpage based on the help 173s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 173s --errorlevel=ERRORLEVEL 173s show errorlevel as: none, message, exception, 173s traceback 173s -i INPUT, --input=INPUT 173s read from INPUT in po, pot formats 173s -x EXCLUDE, --exclude=EXCLUDE 173s exclude names matching EXCLUDE from input paths 173s -o OUTPUT, --output=OUTPUT 173s write to OUTPUT in po, pot formats 173s -u UPDATEFILE, --update=UPDATEFILE 173s update terminology in UPDATEFILE 173s -S STOPFILE, --stopword-list=STOPFILE 173s read stopword (term exclusion) list from STOPFILE 173s (default /usr/share/pyshared/translate/share/stoplist- 173s en) 173s -F, --fold-titlecase fold "Title Case" to lowercase (default) 173s -C, --preserve-case preserve all uppercase/lowercase 173s -I, --ignore-case make all terms lowercase 173s --accelerator=ACCELERATORS 173s ignore the given accelerator characters when matching 173s -t LENGTH, --term-words=LENGTH 173s generate terms of up to LENGTH words (default 3) 173s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 173s 1) 173s --inputs-needed=MIN omit terms appearing in less than MIN input files 173s (default 2, or 1 if only one input file) 173s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 173s different messages (default 1) 173s --substr-needed=MIN omit substring-only terms appearing in less than MIN 173s different messages (default 2) 173s --locs-needed=MIN omit terms appearing in less than MIN different 173s original source files (default 2) 173s --sort=ORDER output sort order(s): frequency, dictionary, length 173s (may repeat option, default is all in above order) 173s --source-language=LANG 173s the source language code (default 'en') 173s -v, --invert invert the source and target languages for terminology 173s ========= SMOKE TEST: /usr/bin/pretranslate =========== 174s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 174s 174s Fill localization files with suggested translations based on translation 174s memory and existing translations. See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/pretranslate.html for examples and usage 174s instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in po, pot, pot, xlf, xliff formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in po, pot, xlf, xliff formats 174s -t TEMPLATE, --template=TEMPLATE 174s read from TEMPLATE in po, pot, xlf, xliff formats 174s -S, --timestamp skip conversion if the output file has newer timestamp 174s --tm=TM The file to use as translation memory when fuzzy 174s matching 174s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 174s The minimum similarity for inclusion (default: 75%) 174s --nofuzzymatching Disable fuzzy matching 177s ========= SMOKE TEST: /usr/bin/prop2po =========== 179s 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] 179s 179s Convert Java/Mozilla .properties files to Gettext PO localization files. 179s See: http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in lang, properties, strings formats 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -t TEMPLATE, --template=TEMPLATE 179s read from TEMPLATE in lang, properties, strings 179s formats 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -P, --pot output PO Templates (.pot) rather than PO files (.po) 179s --personality=TYPE override the input file format: java, java-utf8, java- 179s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 179s strings, strings-utf8, joomla (for .properties files, 179s default: java) 179s --encoding=ENCODING override the encoding set by the personality 179s --duplicates=DUPLICATESTYLE 179s what to do with duplicate strings (identical source 179s text): merge, msgctxt (default: 'msgctxt') 180s ========= SMOKE TEST: /usr/bin/pydiff =========== 180s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 180s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 180s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 180s fromfile tofile 180s 180s positional arguments: 180s fromfile 180s tofile 180s 180s options: 180s -h, --help show this help message and exit 180s -i, --ignore-case Ignore case differences in file contents. 180s -U NUM, --unified NUM 180s Output NUM (default 3) lines of unified context 180s -r, --recursive Recursively compare any subdirectories found. 180s -N, --new-file Treat absent files as empty. 180s --unidirectional-new-file 180s Treat absent first files as empty. 180s -s, --report-identical-files 180s Report when two files are the same. 180s -x PAT, --exclude PAT 180s Exclude files that match PAT. 180s --fromcontains TEXT Only show changes where fromfile contains TEXT 180s --tocontains TEXT Only show changes where tofile contains TEXT 180s --contains TEXT Only show changes where fromfile or tofile contains 180s TEXT 180s -I, --ignore-case-contains 180s Ignore case differences when matching any of the 180s changes 180s --accelerator ACCELERATORS 180s ignores the given accelerator characters when matching 181s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 181s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 181s 181s Convert Python format .po files to PHP format .po files. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in po, pot formats 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in po, pot formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 182s ========= SMOKE TEST: /usr/bin/rc2po =========== 182s 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] 182s 182s Convert Windows RC files to Gettext PO localization files. See: 182s http://docs.translatehouse.org/projects/translate- 182s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in nls, rc formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in po, pot formats 182s -t TEMPLATE, --template=TEMPLATE 182s read from TEMPLATE in nls, rc formats 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s -P, --pot output PO Templates (.pot) rather than PO files (.po) 182s --charset=CHARSET charset to use to decode the RC files (autodetection 182s is used by default) 182s -l LANG, --lang=LANG LANG entry (default: None) 182s --sublang=SUBLANG SUBLANG entry (default: None) 182s --duplicates=DUPLICATESTYLE 182s what to do with duplicate strings (identical source 182s text): merge, msgctxt (default: 'msgctxt') 183s ========= SMOKE TEST: /usr/bin/resx2po =========== 183s 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] 183s 183s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 183s http://docs.translatehouse.org/projects/translate- 183s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in resx format 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in po, pot formats 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in resx format 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s -P, --pot output PO Templates (.pot) rather than PO files (.po) 183s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 183s everything) 183s --duplicates=DUPLICATESTYLE 183s what to do with duplicate strings (identical source 183s text): merge, msgctxt (default: 'msgctxt') 184s ========= SMOKE TEST: /usr/bin/sub2po =========== 184s 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] 184s 184s Convert subtitle files to Gettext PO localization files. See: 184s http://docs.translatehouse.org/projects/translate- 184s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 184s 184s Options: 184s --version show program's version number and exit 184s -h, --help show this help message and exit 184s --manpage output a manpage based on the help 184s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 184s --errorlevel=ERRORLEVEL 184s show errorlevel as: none, message, exception, 184s traceback 184s -i INPUT, --input=INPUT 184s read from INPUT in ass, srt, ssa, sub formats 184s -x EXCLUDE, --exclude=EXCLUDE 184s exclude names matching EXCLUDE from input paths 184s -o OUTPUT, --output=OUTPUT 184s write to OUTPUT in po, pot formats 184s -t TEMPLATE, --template=TEMPLATE 184s read from TEMPLATE in ass, srt, ssa, sub formats 184s -S, --timestamp skip conversion if the output file has newer timestamp 184s -P, --pot output PO Templates (.pot) rather than PO files (.po) 184s --duplicates=DUPLICATESTYLE 184s what to do with duplicate strings (identical source 184s text): merge, msgctxt (default: 'msgctxt') 184s ========= SMOKE TEST: /usr/bin/symb2po =========== 185s 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] 185s 185s Convert Symbian localisation files to Gettext PO localization files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in r01 format 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in po, pot formats 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s -P, --pot output PO Templates (.pot) rather than PO files (.po) 185s --duplicates=DUPLICATESTYLE 185s what to do with duplicate strings (identical source 185s text): merge, msgctxt (default: 'msgctxt') 185s ========= SMOKE TEST: /usr/bin/tbx2po =========== 186s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 186s 186s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in tbx format 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in po, pot formats 186s -S, --timestamp skip conversion if the output file has newer timestamp 187s ========= SMOKE TEST: /usr/bin/tiki2po =========== 187s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 187s 187s Convert TikiWiki's language.php files to Gettext PO localization files. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in php format 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in po, pot formats 187s -S, --timestamp skip conversion if the output file has newer timestamp 187s --include-unused Include strings in the unused section 188s ========= SMOKE TEST: /usr/bin/tmserver =========== 189s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 189s [-s SOURCE_LANG] [-b BIND] [-p PORT] 189s [--max-candidates MAX_CANDIDATES] 189s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 189s [--debug] 189s 189s options: 189s -h, --help show this help message and exit 189s -d TMDBFILE, --tmdb TMDBFILE 189s translation memory database file 189s -f TMFILES, --import-translation-file TMFILES 189s translation file to import into the database 189s -t TARGET_LANG, --import-target-lang TARGET_LANG 189s target language of translation files 189s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 189s source language of translation files 189s -b BIND, --bind BIND address to bind server to (default: localhost) 189s -p PORT, --port PORT port to listen on (default: 8888) 189s --max-candidates MAX_CANDIDATES 189s Maximum number of candidates 189s --min-similarity MIN_SIMILARITY 189s minimum similarity 189s --max-length MAX_LENGTH 189s Maxmimum string length 189s --debug enable debugging features 190s ========= SMOKE TEST: /usr/bin/ts2po =========== 190s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 190s 190s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in ts format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 191s ========= SMOKE TEST: /usr/bin/txt2po =========== 191s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 191s 191s Convert plain text (.txt) files to Gettext PO localization files. See: 191s http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in *, txt formats 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -P, --pot output PO Templates (.pot) rather than PO files (.po) 191s --encoding=ENCODING The encoding of the input file (default: UTF-8) 191s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 191s mediawiki 191s --no-segmentation Don't segment the file, treat it like a single message 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 192s ========= SMOKE TEST: /usr/bin/web2py2po =========== 192s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 192s 192s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in py format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 193s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 193s 193s Convert XLIFF translation files to OpenDocument (ODF) files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in xlf format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 193s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 193s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 193s formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 194s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 194s 194s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 194s file. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in po, pot, xlf, xliff formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in oo, sdf formats 194s -t TEMPLATE, --template=TEMPLATE 194s read from TEMPLATE in oo, sdf formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -l LANG, --language=LANG 194s set target language code (e.g. af-ZA) [required] 194s --source-language=LANG 194s set source language code (default en-US) 194s -T, --keeptimestamp don't change the timestamps of the strings 194s --nonrecursiveoutput don't treat the output oo as a recursive store 194s --nonrecursivetemplate 194s don't treat the template oo as a recursive store 194s --skipsource don't output the source language, but fallback to it 194s where needed 194s --filteraction=ACTION 194s action on pofilter failure: none (default), warn, 194s exclude-serious, exclude-all 194s --fuzzy use translations marked fuzzy 194s --nofuzzy don't use translations marked fuzzy (default) 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 195s ========= SMOKE TEST: /usr/bin/xliff2po =========== 195s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 195s 195s Convert XLIFF localization files to Gettext PO localization files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in xlf, xliff formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 196s ========= SMOKE TEST: /usr/bin/yaml2po =========== 196s 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] 196s 196s Convert YAML files to Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in yaml, yml formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in po, pot formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in yaml, yml formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s -P, --pot output PO Templates (.pot) rather than PO files (.po) 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 199s autopkgtest [18:57:43]: test translate-toolkit: -----------------------] 201s autopkgtest [18:57:45]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 201s translate-toolkit PASS 202s autopkgtest [18:57:46]: test python3-translate: preparing testbed 365s autopkgtest [19:00:29]: testbed dpkg architecture: arm64 366s autopkgtest [19:00:30]: testbed apt version: 2.9.6 366s autopkgtest [19:00:30]: @@@@@@@@@@@@@@@@@@@@ test bed setup 366s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 367s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 367s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [68.3 kB] 367s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [393 kB] 367s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [5704 B] 367s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [126 kB] 367s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 367s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 367s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 367s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [493 kB] 367s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 367s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [8204 B] 367s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 374s Fetched 1284 kB in 1s (1134 kB/s) 375s Reading package lists... 378s Reading package lists... 379s Building dependency tree... 379s Reading state information... 379s Calculating upgrade... 380s The following packages will be upgraded: 380s gcc-14-base gdisk libgcc-s1 libpython3-stdlib libstdc++6 netcat-openbsd 380s python3 python3-gdbm python3-minimal systemd-hwe-hwdb 380s 10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 380s Need to get 1235 kB of archives. 380s After this operation, 71.7 kB of additional disk space will be used. 380s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-minimal arm64 3.12.4-1 [27.1 kB] 380s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3 arm64 3.12.4-1 [24.0 kB] 380s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 libpython3-stdlib arm64 3.12.4-1 [9824 B] 380s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc-14-base arm64 14.1.0-5ubuntu1 [49.9 kB] 380s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 libstdc++6 arm64 14.1.0-5ubuntu1 [749 kB] 381s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 libgcc-s1 arm64 14.1.0-5ubuntu1 [61.8 kB] 381s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 netcat-openbsd arm64 1.226-1.1 [43.3 kB] 381s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 systemd-hwe-hwdb all 256.2.1 [3210 B] 381s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-gdbm arm64 3.12.4-2 [18.0 kB] 381s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 gdisk arm64 1.0.10-2 [249 kB] 383s Fetched 1235 kB in 1s (1820 kB/s) 383s (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 ... 78393 files and directories currently installed.) 383s Preparing to unpack .../python3-minimal_3.12.4-1_arm64.deb ... 383s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 383s Setting up python3-minimal (3.12.4-1) ... 384s (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 ... 78393 files and directories currently installed.) 384s Preparing to unpack .../python3_3.12.4-1_arm64.deb ... 384s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 384s Preparing to unpack .../libpython3-stdlib_3.12.4-1_arm64.deb ... 384s Unpacking libpython3-stdlib:arm64 (3.12.4-1) over (3.12.3-0ubuntu1) ... 384s Preparing to unpack .../gcc-14-base_14.1.0-5ubuntu1_arm64.deb ... 384s Unpacking gcc-14-base:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 385s Setting up gcc-14-base:arm64 (14.1.0-5ubuntu1) ... 385s (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 ... 78393 files and directories currently installed.) 385s Preparing to unpack .../libstdc++6_14.1.0-5ubuntu1_arm64.deb ... 385s Unpacking libstdc++6:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 386s Setting up libstdc++6:arm64 (14.1.0-5ubuntu1) ... 386s (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 ... 78393 files and directories currently installed.) 386s Preparing to unpack .../libgcc-s1_14.1.0-5ubuntu1_arm64.deb ... 386s Unpacking libgcc-s1:arm64 (14.1.0-5ubuntu1) over (14.1.0-4ubuntu2) ... 387s Setting up libgcc-s1:arm64 (14.1.0-5ubuntu1) ... 387s (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 ... 78393 files and directories currently installed.) 387s Preparing to unpack .../netcat-openbsd_1.226-1.1_arm64.deb ... 387s Unpacking netcat-openbsd (1.226-1.1) over (1.226-1ubuntu2) ... 388s Preparing to unpack .../systemd-hwe-hwdb_256.2.1_all.deb ... 388s Unpacking systemd-hwe-hwdb (256.2.1) over (255.1.3) ... 389s Preparing to unpack .../python3-gdbm_3.12.4-2_arm64.deb ... 389s Unpacking python3-gdbm:arm64 (3.12.4-2) over (3.12.3-0ubuntu1) ... 390s Preparing to unpack .../gdisk_1.0.10-2_arm64.deb ... 390s Unpacking gdisk (1.0.10-2) over (1.0.10-1build1) ... 390s Setting up netcat-openbsd (1.226-1.1) ... 390s Setting up gdisk (1.0.10-2) ... 390s Setting up systemd-hwe-hwdb (256.2.1) ... 390s Setting up libpython3-stdlib:arm64 (3.12.4-1) ... 390s Setting up python3 (3.12.4-1) ... 391s Setting up python3-gdbm:arm64 (3.12.4-2) ... 391s Processing triggers for man-db (2.12.1-2) ... 392s Processing triggers for udev (256-1ubuntu1) ... 392s Processing triggers for libc-bin (2.39-0ubuntu9) ... 393s Reading package lists... 394s Building dependency tree... 394s Reading state information... 394s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 395s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 395s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 395s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 395s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 424s Reading package lists... 427s Reading package lists... 427s Building dependency tree... 427s Reading state information... 428s Calculating upgrade... 428s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 430s Reading package lists... 430s Building dependency tree... 430s Reading state information... 431s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 453s Reading package lists... 454s Building dependency tree... 454s Reading state information... 454s Starting pkgProblemResolver with broken count: 0 454s Starting 2 pkgProblemResolver with broken count: 0 454s Done 455s The following additional packages will be installed: 455s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 455s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 455s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 455s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 455s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 455s python3-iniconfig python3-iniparse python3-jaraco.functools 455s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 455s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 455s python3-pytest python3-rapidfuzz python3-ruamel.yaml 455s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 455s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 455s Suggested packages: 455s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 455s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 455s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 455s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 455s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 455s subversion-tools 455s Recommended packages: 455s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 455s python3-cssselect python3-html5lib 455s The following NEW packages will be installed: 455s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 455s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 455s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 455s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 455s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 455s python3-iniconfig python3-iniparse python3-jaraco.functools 455s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 455s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 455s python3-pytest python3-rapidfuzz python3-ruamel.yaml 455s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 455s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 455s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 455s Need to get 10.4 MB/10.4 MB of archives. 455s After this operation, 48.9 MB of additional disk space will be used. 455s Get:1 /tmp/autopkgtest.zowCk5/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [892 B] 455s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 455s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 455s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-5ubuntu1 [145 kB] 455s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.22.5-1 [925 kB] 456s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 456s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.2 [105 kB] 456s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-2ubuntu1 [94.1 kB] 456s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 456s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 456s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 456s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 456s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 456s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 456s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-2 [1336 kB] 456s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 456s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 456s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.15-1 [231 kB] 456s Get:19 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-all arm64 3.12.4-1 [882 B] 456s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 456s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 456s Get:22 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 456s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.3.0-1 [54.9 kB] 456s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 456s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 456s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 456s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 456s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 456s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 456s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.9.4+ds-1 [987 kB] 456s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 456s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.2-1 [1176 kB] 456s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 456s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.1-1 [41.4 kB] 456s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 456s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 456s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 456s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 456s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 456s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 456s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 456s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 456s Get:43 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 456s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.13.2-1 [319 kB] 456s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 456s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 456s Get:47 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-2 [906 kB] 456s Get:48 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 456s Get:49 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 457s Preconfiguring packages ... 458s Fetched 10.4 MB in 1s (7858 kB/s) 458s Selecting previously unselected package emacsen-common. 458s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78396 files and directories currently installed.) 458s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 458s Unpacking emacsen-common (3.0.5) ... 458s Selecting previously unselected package dictionaries-common. 459s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 459s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 459s Unpacking dictionaries-common (1.29.7) ... 460s Selecting previously unselected package libgomp1:arm64. 462s Preparing to unpack .../02-libgomp1_14.1.0-5ubuntu1_arm64.deb ... 463s Unpacking libgomp1:arm64 (14.1.0-5ubuntu1) ... 463s Selecting previously unselected package gettext. 464s Preparing to unpack .../03-gettext_0.22.5-1_arm64.deb ... 464s Unpacking gettext (0.22.5-1) ... 464s Selecting previously unselected package hunspell-en-us. 465s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 465s Unpacking hunspell-en-us (1:2020.12.07-2) ... 465s Selecting previously unselected package libapr1t64:arm64. 465s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_arm64.deb ... 465s Unpacking libapr1t64:arm64 (1.7.2-3.2) ... 465s Selecting previously unselected package libaprutil1t64:arm64. 465s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_arm64.deb ... 465s Unpacking libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 465s Selecting previously unselected package libaspell15:arm64. 465s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 465s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 465s Selecting previously unselected package libhunspell-1.7-0:arm64. 466s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 466s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 466s Selecting previously unselected package libenchant-2-2:arm64. 466s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 466s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 466s Selecting previously unselected package libexttextcat-data. 466s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 466s Unpacking libexttextcat-data (3.4.7-1build1) ... 466s Selecting previously unselected package libserf-1-1:arm64. 466s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 466s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 466s Selecting previously unselected package libutf8proc3:arm64. 466s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 466s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 466s Selecting previously unselected package libsvn1:arm64. 467s Preparing to unpack .../13-libsvn1_1.14.3-2_arm64.deb ... 467s Unpacking libsvn1:arm64 (1.14.3-2) ... 467s Selecting previously unselected package libxapian30:arm64. 467s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 467s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 467s Selecting previously unselected package libxslt1.1:arm64. 467s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 467s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 467s Selecting previously unselected package python3-aeidon. 467s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 467s Unpacking python3-aeidon (1.15-1) ... 467s Selecting previously unselected package python3-all. 467s Preparing to unpack .../17-python3-all_3.12.4-1_arm64.deb ... 467s Unpacking python3-all (3.12.4-1) ... 467s Selecting previously unselected package python3-soupsieve. 467s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 467s Unpacking python3-soupsieve (2.5-1) ... 467s Selecting previously unselected package python3-bs4. 467s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 467s Unpacking python3-bs4 (4.12.3-1) ... 467s Selecting previously unselected package python3-charset-normalizer. 467s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 467s Unpacking python3-charset-normalizer (3.3.2-1) ... 467s Selecting previously unselected package python3-more-itertools. 467s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 467s Unpacking python3-more-itertools (10.3.0-1) ... 467s Selecting previously unselected package python3-jaraco.functools. 468s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 468s Unpacking python3-jaraco.functools (4.0.0-1) ... 468s Selecting previously unselected package python3-cheroot. 468s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 468s Unpacking python3-cheroot (10.0.0+ds1-2) ... 468s Selecting previously unselected package python3-dateutil. 468s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 468s Unpacking python3-dateutil (2.9.0-2) ... 468s Selecting previously unselected package python3-diff-match-patch. 468s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 468s Unpacking python3-diff-match-patch (20230430-1) ... 468s Selecting previously unselected package python3-enchant. 468s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 468s Unpacking python3-enchant (3.2.2-1) ... 468s Selecting previously unselected package python3-iniconfig. 468s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 468s Unpacking python3-iniconfig (1.1.1-2) ... 468s Selecting previously unselected package python3-rapidfuzz. 468s Preparing to unpack .../28-python3-rapidfuzz_3.9.4+ds-1_arm64.deb ... 468s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 468s Selecting previously unselected package python3-levenshtein. 468s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_arm64.deb ... 468s Unpacking python3-levenshtein (0.25.1-3) ... 468s Selecting previously unselected package python3-lxml:arm64. 468s Preparing to unpack .../30-python3-lxml_5.2.2-1_arm64.deb ... 468s Unpacking python3-lxml:arm64 (5.2.2-1) ... 469s Selecting previously unselected package python3-mistletoe. 469s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 469s Unpacking python3-mistletoe (1.3.0-1) ... 469s Selecting previously unselected package python3-packaging. 469s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 469s Unpacking python3-packaging (24.1-1) ... 469s Selecting previously unselected package python3-ply. 469s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 469s Unpacking python3-ply (3.11-6) ... 469s Selecting previously unselected package python3-phply. 469s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 469s Unpacking python3-phply (1.2.6-1) ... 469s Selecting previously unselected package python3-pluggy. 469s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 469s Unpacking python3-pluggy (1.5.0-1) ... 469s Selecting previously unselected package python3-pytest. 469s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 469s Unpacking python3-pytest (7.4.4-1) ... 469s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 469s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 469s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 469s Selecting previously unselected package python3-ruamel.yaml. 469s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 469s Unpacking python3-ruamel.yaml (0.17.21-1) ... 469s Selecting previously unselected package python3-simplejson. 469s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_arm64.deb ... 469s Unpacking python3-simplejson (3.19.2-1build2) ... 469s Selecting previously unselected package python3-syrupy. 469s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 469s Unpacking python3-syrupy (4.6.1-1) ... 469s Selecting previously unselected package python3-wcwidth. 469s Preparing to unpack .../41-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 469s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 469s Selecting previously unselected package python3-translate. 470s Preparing to unpack .../42-python3-translate_3.13.2-1_all.deb ... 470s Unpacking python3-translate (3.13.2-1) ... 470s Selecting previously unselected package python3-vobject. 470s Preparing to unpack .../43-python3-vobject_0.9.6.1-2_all.deb ... 470s Unpacking python3-vobject (0.9.6.1-2) ... 470s Selecting previously unselected package python3-xapian. 470s Preparing to unpack .../44-python3-xapian_1.4.22-1build5_arm64.deb ... 470s Unpacking python3-xapian (1.4.22-1build5) ... 470s Selecting previously unselected package subversion. 470s Preparing to unpack .../45-subversion_1.14.3-2_arm64.deb ... 470s Unpacking subversion (1.14.3-2) ... 470s Selecting previously unselected package python3-iniparse. 470s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 470s Unpacking python3-iniparse (0.5-2) ... 470s Selecting previously unselected package python3-pycountry. 470s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 470s Unpacking python3-pycountry (24.6.1+ds1-1) ... 471s Selecting previously unselected package autopkgtest-satdep. 471s Preparing to unpack .../48-2-autopkgtest-satdep.deb ... 471s Unpacking autopkgtest-satdep (0) ... 471s Setting up python3-more-itertools (10.3.0-1) ... 472s Setting up python3-iniconfig (1.1.1-2) ... 473s Setting up libxapian30:arm64 (1.4.22-1build1) ... 473s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 474s Setting up python3-diff-match-patch (20230430-1) ... 476s Setting up python3-jaraco.functools (4.0.0-1) ... 476s Setting up python3-aeidon (1.15-1) ... 477s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 477s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 477s Setting up python3-charset-normalizer (3.3.2-1) ... 481s Setting up python3-ply (3.11-6) ... 482s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 482s Setting up python3-all (3.12.4-1) ... 482s Setting up libgomp1:arm64 (14.1.0-5ubuntu1) ... 482s Setting up python3-simplejson (3.19.2-1build2) ... 483s Setting up python3-packaging (24.1-1) ... 484s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 485s Setting up emacsen-common (3.0.5) ... 486s Setting up python3-cheroot (10.0.0+ds1-2) ... 487s Setting up python3-pycountry (24.6.1+ds1-1) ... 487s Setting up python3-xapian (1.4.22-1build5) ... 488s Setting up python3-pluggy (1.5.0-1) ... 488s Setting up python3-ruamel.yaml (0.17.21-1) ... 489s Setting up python3-mistletoe (1.3.0-1) ... 489s Setting up libexttextcat-data (3.4.7-1build1) ... 489s Setting up libapr1t64:arm64 (1.7.2-3.2) ... 489s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 489s Setting up python3-dateutil (2.9.0-2) ... 490s Setting up python3-levenshtein (0.25.1-3) ... 490s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 490s Setting up python3-soupsieve (2.5-1) ... 490s Setting up python3-iniparse (0.5-2) ... 490s Setting up libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 490s Setting up python3-vobject (0.9.6.1-2) ... 491s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 491s patterns['name'] = '[a-zA-Z0-9\-_]+' 491s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 491s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 491s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 491s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 491s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 491s """ 491s Setting up gettext (0.22.5-1) ... 491s Setting up python3-phply (1.2.6-1) ... 491s Setting up dictionaries-common (1.29.7) ... 492s Setting up python3-pytest (7.4.4-1) ... 493s Setting up python3-syrupy (4.6.1-1) ... 493s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 493s Setting up python3-bs4 (4.12.3-1) ... 493s Setting up python3-lxml:arm64 (5.2.2-1) ... 494s Setting up hunspell-en-us (1:2020.12.07-2) ... 494s Setting up libsvn1:arm64 (1.14.3-2) ... 494s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 494s Setting up subversion (1.14.3-2) ... 494s Setting up python3-enchant (3.2.2-1) ... 494s Setting up python3-translate (3.13.2-1) ... 495s Setting up autopkgtest-satdep (0) ... 495s Processing triggers for man-db (2.12.1-2) ... 495s Processing triggers for install-info (7.1-3build2) ... 496s Processing triggers for libc-bin (2.39-0ubuntu9) ... 496s Processing triggers for dictionaries-common (1.29.7) ... 502s (Reading database ... 81897 files and directories currently installed.) 502s Removing autopkgtest-satdep (0) ... 506s autopkgtest [19:02:50]: test python3-translate: [----------------------- 516s ============================= test session starts ============================== 516s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 516s cachedir: .pytest_cache 516s rootdir: /tmp/autopkgtest.zowCk5/autopkgtest_tmp 516s plugins: syrupy-4.6.1 545s collecting ... collected 3340 items / 2 skipped 545s 547s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 547s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 547s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 547s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 547s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 547s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 547s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 547s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 547s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 547s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 547s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 547s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 547s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 548s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 548s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 548s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 548s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 548s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 548s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 548s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 548s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 548s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 548s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 548s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 548s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 548s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 548s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 548s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 548s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 548s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 548s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 548s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 548s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 548s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 548s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 548s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 548s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 548s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 548s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 549s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 549s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 549s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 549s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 549s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 549s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 549s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 549s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 549s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 549s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 549s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 549s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 549s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 549s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 549s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 549s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 549s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 561s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 569s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 569s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 569s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 571s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 571s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 572s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 572s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 572s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 572s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 572s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 572s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 572s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 572s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 572s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 572s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 572s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 572s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 572s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 573s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 573s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 573s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 573s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 573s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 573s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 573s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 573s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 573s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 573s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 573s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 573s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 574s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 574s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 574s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 574s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 574s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 574s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 580s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 584s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 584s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 588s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 590s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 590s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 590s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 590s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 590s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 590s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 590s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 590s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 590s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 590s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 590s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 590s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 590s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 591s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 591s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 591s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 591s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 591s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 591s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 591s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 591s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 591s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 591s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 591s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 599s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 599s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 599s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 599s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 599s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 599s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 599s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 600s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 600s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 600s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 600s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 600s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 600s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 600s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 600s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 600s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 600s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 600s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 600s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 600s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 600s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 600s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 600s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 600s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 600s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 600s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 600s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 600s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 600s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 600s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 600s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 600s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 600s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 600s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 600s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 601s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 601s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 601s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 601s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 601s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 601s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 601s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 601s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 601s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 601s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 601s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 601s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 601s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 601s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 601s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 601s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 601s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 601s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 601s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 601s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 601s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 601s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 601s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 601s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 601s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 601s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 601s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 601s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 601s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 601s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 601s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 601s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 601s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 601s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 601s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 601s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 601s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 601s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 601s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 604s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 605s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 605s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 605s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 605s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 605s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 606s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 606s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 606s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 606s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 608s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 608s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 608s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 608s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 608s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 608s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 608s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 608s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 608s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 608s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 608s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 608s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 608s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 608s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 608s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 608s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 608s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 609s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 609s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 609s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 609s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 609s 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%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 609s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 609s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 609s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 609s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 609s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 609s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 609s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 609s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 609s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 609s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 609s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 609s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 609s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 609s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 609s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 609s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 609s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 609s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 609s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 609s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 609s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 611s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 611s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 611s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 611s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 611s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 611s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 611s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 611s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 611s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 611s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 611s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 611s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 613s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 614s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 615s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 615s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 615s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 615s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 615s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 615s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 615s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 615s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 615s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 615s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 615s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 615s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 615s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 615s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 615s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 615s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 615s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 616s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 616s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 616s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 617s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 617s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 617s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 617s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 617s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 617s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 617s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 617s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 617s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 617s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 617s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 617s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 617s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 617s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 617s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 617s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 617s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 617s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 617s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 617s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 617s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 617s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 617s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 617s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 618s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 618s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 618s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 618s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 618s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 619s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 619s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 619s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 619s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 619s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 619s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 619s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 620s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 620s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 620s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 620s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 620s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 620s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 620s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 620s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 620s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 620s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 620s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 620s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 620s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 620s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 620s 620s =============================== warnings summary =============================== 620s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 620s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 620s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 620s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 620s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 620s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 620s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 620s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 620s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 620s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 620s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 620s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 620s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 620s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 620s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 620s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 620s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 620s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 620s Warning: Could not find accesskey for key.accesskey 620s 620s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 620s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 620s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 620s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 620s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 620s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/translate/convert/test.idml'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 620s Warning: unclosed file <_io.BufferedReader name='translation.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 620s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 620s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 620s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 620s Warning: Could not find accesskey for prop.accesskey 620s 620s tests/translate/convert/test_po2tmx.py: 26 warnings 620s tests/translate/filters/test_pofilter.py: 13 warnings 620s tests/translate/storage/test_tbx.py: 17 warnings 620s tests/translate/storage/test_tmx.py: 24 warnings 620s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 620s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 620s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 620s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 620s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 620s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/translate/convert/test.odt'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 620s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 620s Enable tracemalloc to get traceback where the object was allocated. 620s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 620s 620s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 620s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 620s 620s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 620s Warning: DTD file '' does not validate 620s 620s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 620s --------------------------- snapshot report summary ---------------------------- 620s 23 snapshots passed. 620s =========================== short test summary info ============================ 620s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 620s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 620s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 620s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 620s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 620s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 620s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 620s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 620s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 620s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 620s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 620s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 620s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 620s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 620s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 620s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 620s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 620s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 620s 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. 620s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 620s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 620s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 620s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 620s 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 620s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 620s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 620s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 620s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 620s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 620s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 620s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 620s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 620s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 620s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 620s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 620s ==== 3279 passed, 22 skipped, 41 xfailed, 126 warnings in 105.26s (0:01:45) ==== 623s autopkgtest [19:04:47]: test python3-translate: -----------------------] 625s python3-translate PASS 625s autopkgtest [19:04:49]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 626s autopkgtest [19:04:50]: test python3-translate-commands: preparing testbed 628s Reading package lists... 629s Building dependency tree... 629s Reading state information... 629s Starting pkgProblemResolver with broken count: 0 629s Starting 2 pkgProblemResolver with broken count: 0 629s Done 630s The following additional packages will be installed: 630s translate-toolkit 630s Recommended packages: 630s translate-toolkit-doc 630s The following NEW packages will be installed: 630s autopkgtest-satdep translate-toolkit 631s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 631s Need to get 81.0 kB/81.9 kB of archives. 631s After this operation, 225 kB of additional disk space will be used. 631s Get:1 /tmp/autopkgtest.zowCk5/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [900 B] 631s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.13.2-1 [81.0 kB] 637s Fetched 81.0 kB in 1s (120 kB/s) 639s Selecting previously unselected package translate-toolkit. 640s (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 ... 81897 files and directories currently installed.) 640s Preparing to unpack .../translate-toolkit_3.13.2-1_all.deb ... 640s Unpacking translate-toolkit (3.13.2-1) ... 641s Selecting previously unselected package autopkgtest-satdep. 647s Preparing to unpack .../3-autopkgtest-satdep.deb ... 647s Unpacking autopkgtest-satdep (0) ... 650s Setting up translate-toolkit (3.13.2-1) ... 650s Setting up autopkgtest-satdep (0) ... 650s Processing triggers for man-db (2.12.1-2) ... 659s (Reading database ... 82067 files and directories currently installed.) 659s Removing autopkgtest-satdep (0) ... 661s autopkgtest [19:05:25]: test python3-translate-commands: [----------------------- 663s ============================= test session starts ============================== 663s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 663s cachedir: .pytest_cache 663s rootdir: /tmp/autopkgtest.zowCk5/autopkgtest_tmp 663s plugins: syrupy-4.6.1 672s collecting ... collected 3340 items / 2 skipped 672s 672s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 672s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 672s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 672s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 672s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 672s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 672s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 672s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 672s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 672s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 673s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 673s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 673s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 673s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 673s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 673s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 673s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 673s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 673s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 673s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 673s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 673s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 673s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 673s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 673s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 673s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 673s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 673s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 673s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 673s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 673s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 673s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 673s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 674s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 674s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 674s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 674s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 674s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 674s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 674s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 674s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 674s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 674s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 674s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 674s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 674s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 674s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 674s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 675s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 675s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 675s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 676s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 676s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 676s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 676s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 676s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 676s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 676s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 676s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 676s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 676s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 676s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 676s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 676s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 676s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 676s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 676s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 676s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 677s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 677s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 677s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 677s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 677s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 677s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 677s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 678s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 678s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 678s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 678s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 678s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 678s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 678s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 678s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 678s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 678s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 678s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 678s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 678s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 678s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 679s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 679s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 679s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 679s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 679s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 679s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 679s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 679s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 679s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 679s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 679s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 679s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 679s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 679s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 679s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 679s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 679s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 679s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 679s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 679s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 679s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 679s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 679s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 679s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 679s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 679s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 679s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 679s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 679s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 679s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 679s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 679s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 679s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 679s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 679s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 679s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 679s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 679s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 679s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 679s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 679s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 679s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 679s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 679s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 679s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 679s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 679s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 679s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 679s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 679s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 679s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 679s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 679s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 679s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 679s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 679s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 679s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 679s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 680s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 681s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 682s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 682s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 682s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 682s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 682s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 682s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 682s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 682s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 682s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 682s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 682s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 683s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 683s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 683s 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%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 683s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 683s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 683s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 683s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 683s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 683s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 683s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 683s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 683s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 683s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 683s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 683s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 683s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 683s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 684s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 684s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 684s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 684s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 684s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 684s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 684s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 686s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 699s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 701s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 701s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 701s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 701s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 701s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 701s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 701s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 701s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 702s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 702s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 702s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 702s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 703s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 703s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 703s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 703s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 703s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 703s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 705s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 707s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 707s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 707s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 707s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 707s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 707s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 707s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 708s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 708s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 708s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 708s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 708s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 708s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 708s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 708s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 708s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 708s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 708s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 708s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 708s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 709s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 709s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 709s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 709s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 709s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 709s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 709s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 709s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 709s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 710s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 710s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 710s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 710s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 710s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 710s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 710s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 710s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 713s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 714s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 714s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 715s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 715s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 716s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 717s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 717s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 717s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 718s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 720s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 720s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 720s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 720s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 720s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 720s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 720s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 720s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 720s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 720s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 721s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 721s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 721s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 721s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 721s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 721s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 721s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 721s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 721s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 721s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 721s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 721s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 721s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 722s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 722s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 722s 722s =============================== warnings summary =============================== 722s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 722s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 722s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 722s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 722s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 722s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 722s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 722s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 722s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 722s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 722s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 722s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 722s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 722s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 722s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 722s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 722s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 722s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 722s Warning: Could not find accesskey for key.accesskey 722s 722s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 722s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 722s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 722s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 722s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 722s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/translate/convert/test.idml'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 722s Warning: unclosed file <_io.BufferedReader name='translation.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 722s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 722s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 722s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 722s Warning: Could not find accesskey for prop.accesskey 722s 722s tests/translate/convert/test_po2tmx.py: 26 warnings 722s tests/translate/filters/test_pofilter.py: 13 warnings 722s tests/translate/storage/test_tbx.py: 17 warnings 722s tests/translate/storage/test_tmx.py: 24 warnings 722s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 722s 722s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 722s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 722s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 722s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 722s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 722s Enable tracemalloc to get traceback where the object was allocated. 722s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 722s 723s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 723s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 723s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 723s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 723s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 723s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 723s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 723s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 723s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 723s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.zowCk5/autopkgtest_tmp/tests/translate/convert/test.odt'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 723s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 723s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 723s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 723s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 723s Enable tracemalloc to get traceback where the object was allocated. 723s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 723s 723s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 723s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 723s 723s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 723s Warning: DTD file '' does not validate 723s 723s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 723s --------------------------- snapshot report summary ---------------------------- 723s 23 snapshots passed. 723s =========================== short test summary info ============================ 723s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 723s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 723s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 723s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 723s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 723s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 723s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 723s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 723s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 723s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 723s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 723s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 723s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 723s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 723s 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. 723s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 723s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 723s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 723s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 723s 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 723s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 723s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 723s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 723s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 723s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 723s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 723s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 723s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 723s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 723s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 723s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 723s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 723s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 723s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 723s ========== 3298 passed, 3 skipped, 41 xfailed, 126 warnings in 59.18s ========== 724s autopkgtest [19:06:28]: test python3-translate-commands: -----------------------] 725s autopkgtest [19:06:29]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 725s python3-translate-commands PASS 726s autopkgtest [19:06:30]: @@@@@@@@@@@@@@@@@@@@ summary 726s translate-toolkit PASS 726s python3-translate PASS 726s python3-translate-commands PASS 739s nova [W] Skipping flock in bos03-arm64 739s Creating nova instance adt-oracular-arm64-translate-toolkit-20240723-185423-juju-7f2275-prod-proposed-migration-environment-2-9c03e922-be7c-4c92-a0af-28d83d381b0a from image adt/ubuntu-oracular-arm64-server-20240721.img (UUID 82bde252-f2f6-4a5f-8912-308e3b0a85c9)... 739s nova [W] Skipping flock in bos03-arm64 739s Creating nova instance adt-oracular-arm64-translate-toolkit-20240723-185423-juju-7f2275-prod-proposed-migration-environment-2-9c03e922-be7c-4c92-a0af-28d83d381b0a from image adt/ubuntu-oracular-arm64-server-20240721.img (UUID 82bde252-f2f6-4a5f-8912-308e3b0a85c9)...