0s autopkgtest [10:10:18]: starting date and time: 2024-03-23 10:10:18+0000 0s autopkgtest [10:10:18]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [10:10:18]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.mijjva1z/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:sphinx --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos02-ppc64el-16.secgroup --name adt-noble-ppc64el-translate-toolkit-20240323-101015-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 87s autopkgtest [10:11:45]: testbed dpkg architecture: ppc64el 87s autopkgtest [10:11:45]: testbed apt version: 2.7.12 87s autopkgtest [10:11:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 88s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 89s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 89s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 89s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 89s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4029 kB] 91s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [659 kB] 91s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 91s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 91s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 91s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4250 kB] 92s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 92s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [60.8 kB] 92s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 94s Fetched 9687 kB in 4s (2456 kB/s) 95s Reading package lists... 98s Reading package lists... 98s Building dependency tree... 98s Reading state information... 99s Calculating upgrade... 99s The following packages will be upgraded: 99s libbsd0 libc-bin libc6 locales 99s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 99s Need to get 8313 kB of archives. 99s After this operation, 2048 B of additional disk space will be used. 99s Get:1 http://ftpmaster.internal/ubuntu noble/main ppc64el libc6 ppc64el 2.39-0ubuntu6 [3274 kB] 101s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el libc-bin ppc64el 2.39-0ubuntu6 [751 kB] 101s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libbsd0 ppc64el 0.12.1-1 [56.9 kB] 101s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el locales all 2.39-0ubuntu6 [4232 kB] 102s Preconfiguring packages ... 102s Fetched 8313 kB in 3s (3081 kB/s) 102s (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 ... 70156 files and directories currently installed.) 102s Preparing to unpack .../libc6_2.39-0ubuntu6_ppc64el.deb ... 102s Unpacking libc6:ppc64el (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 102s Setting up libc6:ppc64el (2.39-0ubuntu6) ... 103s (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 ... 70156 files and directories currently installed.) 103s Preparing to unpack .../libc-bin_2.39-0ubuntu6_ppc64el.deb ... 103s Unpacking libc-bin (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 103s Setting up libc-bin (2.39-0ubuntu6) ... 103s (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 ... 70156 files and directories currently installed.) 103s Preparing to unpack .../libbsd0_0.12.1-1_ppc64el.deb ... 103s Unpacking libbsd0:ppc64el (0.12.1-1) over (0.11.8-1) ... 103s Preparing to unpack .../locales_2.39-0ubuntu6_all.deb ... 103s Unpacking locales (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 103s Setting up locales (2.39-0ubuntu6) ... 104s Generating locales (this might take a while)... 105s en_US.UTF-8... done 105s Generation complete. 105s Setting up libbsd0:ppc64el (0.12.1-1) ... 105s Processing triggers for man-db (2.12.0-3) ... 106s Processing triggers for libc-bin (2.39-0ubuntu6) ... 106s Reading package lists... 106s Building dependency tree... 106s Reading state information... 106s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 107s sh: Attempting to set up Debian/Ubuntu apt sources automatically 107s sh: Distribution appears to be Ubuntu 108s Reading package lists... 108s Building dependency tree... 108s Reading state information... 108s eatmydata is already the newest version (131-1). 108s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 108s Reading package lists... 108s Building dependency tree... 108s Reading state information... 108s dbus is already the newest version (1.14.10-4ubuntu1). 108s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 108s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s rng-tools-debian is already the newest version (2.4). 109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 109s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s The following packages will be REMOVED: 109s cloud-init* python3-configobj* python3-debconf* 109s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 109s After this operation, 3256 kB disk space will be freed. 109s (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 ... 70156 files and directories currently installed.) 109s Removing cloud-init (24.1.2-0ubuntu1) ... 110s Removing python3-configobj (5.0.8-3) ... 110s Removing python3-debconf (1.5.86) ... 110s Processing triggers for man-db (2.12.0-3) ... 110s (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 ... 69767 files and directories currently installed.) 110s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 111s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 111s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 111s invoke-rc.d: policy-rc.d denied execution of try-restart. 111s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s linux-generic is already the newest version (6.8.0-11.11+1). 111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 112s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 112s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 112s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 114s Reading package lists... 114s Reading package lists... 114s Building dependency tree... 114s Reading state information... 114s Calculating upgrade... 114s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 114s Reading package lists... 115s Building dependency tree... 115s Reading state information... 115s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 115s autopkgtest [10:12:13]: rebooting testbed after setup commands that affected boot 158s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 166s autopkgtest [10:13:04]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Wed Feb 14 00:33:03 UTC 2024 170s autopkgtest [10:13:08]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 174s Get:1 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (dsc) [3065 B] 174s Get:2 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (tar) [1203 kB] 174s Get:3 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (diff) [24.3 kB] 174s gpgv: Signature made Sun Feb 18 05:01:57 2024 UTC 174s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 174s gpgv: Can't check signature: No public key 174s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1.dsc: no acceptable signature found 174s autopkgtest [10:13:12]: testing package translate-toolkit version 3.12.2-1 175s autopkgtest [10:13:13]: build not needed 178s autopkgtest [10:13:16]: test translate-toolkit: preparing testbed 181s Reading package lists... 181s Building dependency tree... 181s Reading state information... 181s Starting pkgProblemResolver with broken count: 0 181s Starting 2 pkgProblemResolver with broken count: 0 181s Done 181s The following additional packages will be installed: 181s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 181s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 181s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 181s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 181s python3-diff-match-patch python3-enchant python3-iniparse 181s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 181s python3-more-itertools python3-phply python3-ply python3-pycountry 181s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 181s python3-soupsieve python3-translate python3-vobject python3-xapian 181s subversion translate-toolkit 181s Suggested packages: 181s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 181s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 181s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 181s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 181s libapache2-mod-svn subversion-tools 181s Recommended packages: 181s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 181s python3-cssselect python3-html5lib translate-toolkit-doc 181s The following NEW packages will be installed: 181s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 181s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 181s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 181s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 181s python3-diff-match-patch python3-enchant python3-iniparse 181s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 181s python3-more-itertools python3-phply python3-ply python3-pycountry 181s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 181s python3-soupsieve python3-translate python3-vobject python3-xapian 181s subversion translate-toolkit 182s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 182s Need to get 11.1 MB/11.1 MB of archives. 182s After this operation, 52.8 MB of additional disk space will be used. 182s Get:1 /tmp/autopkgtest.9xOi3x/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [872 B] 182s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 182s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el dictionaries-common all 1.29.7 [188 kB] 182s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el libgomp1 ppc64el 14-20240303-1ubuntu1 [161 kB] 182s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el gettext ppc64el 0.21-14ubuntu1 [979 kB] 183s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 183s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el libapr1 ppc64el 1.7.2-3 [130 kB] 183s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el libaprutil1 ppc64el 1.6.3-1ubuntu1 [110 kB] 183s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libaspell15 ppc64el 0.60.8.1-1 [466 kB] 183s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10 [309 kB] 184s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libenchant-2-2 ppc64el 2.3.3-2 [58.4 kB] 184s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libexttextcat-data all 3.4.7-1 [235 kB] 184s Get:13 http://ftpmaster.internal/ubuntu noble/universe ppc64el libserf-1-1 ppc64el 1.3.10-1 [55.4 kB] 184s Get:14 http://ftpmaster.internal/ubuntu noble/universe ppc64el libutf8proc3 ppc64el 2.9.0-1 [71.6 kB] 184s Get:15 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsvn1 ppc64el 1.14.3-1build2 [1640 kB] 184s Get:16 http://ftpmaster.internal/ubuntu noble/universe ppc64el libxapian30 ppc64el 1.4.22-1 [825 kB] 185s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1 [192 kB] 185s Get:18 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 185s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 185s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 185s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 185s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 185s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 185s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 185s Get:25 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 185s Get:26 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 185s Get:27 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-levenshtein ppc64el 0.12.2-3 [53.9 kB] 185s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-lxml ppc64el 5.1.0-1 [2191 kB] 185s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 185s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-ply all 3.11-6 [46.5 kB] 185s Get:31 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 185s Get:32 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8-1 [235 kB] 185s Get:33 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 185s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-simplejson ppc64el 3.19.2-1build1 [70.4 kB] 186s Get:35 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-translate all 3.12.2-1 [317 kB] 186s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 186s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-xapian ppc64el 1.4.22-1build2 [519 kB] 186s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el subversion ppc64el 1.14.3-1build2 [945 kB] 186s Get:39 http://ftpmaster.internal/ubuntu noble/universe ppc64el translate-toolkit all 3.12.2-1 [88.2 kB] 186s Get:40 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 186s Get:41 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 186s Preconfiguring packages ... 186s Fetched 11.1 MB in 4s (2597 kB/s) 186s Selecting previously unselected package emacsen-common. 186s (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 ... 69712 files and directories currently installed.) 186s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 186s Unpacking emacsen-common (3.0.5) ... 186s Selecting previously unselected package dictionaries-common. 186s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 186s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 186s Unpacking dictionaries-common (1.29.7) ... 186s Selecting previously unselected package libgomp1:ppc64el. 186s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_ppc64el.deb ... 186s Unpacking libgomp1:ppc64el (14-20240303-1ubuntu1) ... 186s Selecting previously unselected package gettext. 186s Preparing to unpack .../03-gettext_0.21-14ubuntu1_ppc64el.deb ... 186s Unpacking gettext (0.21-14ubuntu1) ... 186s Selecting previously unselected package hunspell-en-us. 186s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 186s Unpacking hunspell-en-us (1:2020.12.07-2) ... 186s Selecting previously unselected package libapr1:ppc64el. 186s Preparing to unpack .../05-libapr1_1.7.2-3_ppc64el.deb ... 186s Unpacking libapr1:ppc64el (1.7.2-3) ... 186s Selecting previously unselected package libaprutil1:ppc64el. 186s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_ppc64el.deb ... 186s Unpacking libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 186s Selecting previously unselected package libaspell15:ppc64el. 186s Preparing to unpack .../07-libaspell15_0.60.8.1-1_ppc64el.deb ... 186s Unpacking libaspell15:ppc64el (0.60.8.1-1) ... 186s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 186s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_ppc64el.deb ... 186s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 186s Selecting previously unselected package libenchant-2-2:ppc64el. 186s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_ppc64el.deb ... 186s Unpacking libenchant-2-2:ppc64el (2.3.3-2) ... 186s Selecting previously unselected package libexttextcat-data. 186s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 186s Unpacking libexttextcat-data (3.4.7-1) ... 187s Selecting previously unselected package libserf-1-1:ppc64el. 187s Preparing to unpack .../11-libserf-1-1_1.3.10-1_ppc64el.deb ... 187s Unpacking libserf-1-1:ppc64el (1.3.10-1) ... 187s Selecting previously unselected package libutf8proc3:ppc64el. 187s Preparing to unpack .../12-libutf8proc3_2.9.0-1_ppc64el.deb ... 187s Unpacking libutf8proc3:ppc64el (2.9.0-1) ... 187s Selecting previously unselected package libsvn1:ppc64el. 187s Preparing to unpack .../13-libsvn1_1.14.3-1build2_ppc64el.deb ... 187s Unpacking libsvn1:ppc64el (1.14.3-1build2) ... 187s Selecting previously unselected package libxapian30:ppc64el. 187s Preparing to unpack .../14-libxapian30_1.4.22-1_ppc64el.deb ... 187s Unpacking libxapian30:ppc64el (1.4.22-1) ... 187s Selecting previously unselected package libxslt1.1:ppc64el. 187s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1_ppc64el.deb ... 187s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1) ... 187s Selecting previously unselected package python3-aeidon. 187s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 187s Unpacking python3-aeidon (1.11-2) ... 187s Selecting previously unselected package python3-soupsieve. 187s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 187s Unpacking python3-soupsieve (2.5-1) ... 187s Selecting previously unselected package python3-bs4. 187s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 187s Unpacking python3-bs4 (4.12.3-1) ... 187s Selecting previously unselected package python3-more-itertools. 187s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 187s Unpacking python3-more-itertools (10.2.0-1) ... 187s Selecting previously unselected package python3-jaraco.functools. 187s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 187s Unpacking python3-jaraco.functools (4.0.0-1) ... 187s Selecting previously unselected package python3-cheroot. 187s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-1_all.deb ... 187s Unpacking python3-cheroot (10.0.0+ds1-1) ... 187s Selecting previously unselected package python3-dateutil. 187s Preparing to unpack .../22-python3-dateutil_2.8.2-3_all.deb ... 187s Unpacking python3-dateutil (2.8.2-3) ... 187s Selecting previously unselected package python3-diff-match-patch. 187s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 187s Unpacking python3-diff-match-patch (20230430-1) ... 187s Selecting previously unselected package python3-enchant. 187s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 187s Unpacking python3-enchant (3.2.2-1) ... 187s Selecting previously unselected package python3-levenshtein. 187s Preparing to unpack .../25-python3-levenshtein_0.12.2-3_ppc64el.deb ... 187s Unpacking python3-levenshtein (0.12.2-3) ... 187s Selecting previously unselected package python3-lxml:ppc64el. 187s Preparing to unpack .../26-python3-lxml_5.1.0-1_ppc64el.deb ... 187s Unpacking python3-lxml:ppc64el (5.1.0-1) ... 187s Selecting previously unselected package python3-mistletoe. 187s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 187s Unpacking python3-mistletoe (1.3.0-1) ... 187s Selecting previously unselected package python3-ply. 187s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 187s Unpacking python3-ply (3.11-6) ... 187s Selecting previously unselected package python3-phply. 187s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 187s Unpacking python3-phply (1.2.6-1) ... 187s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 187s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8-1_ppc64el.deb ... 187s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 187s Selecting previously unselected package python3-ruamel.yaml. 187s Preparing to unpack .../31-python3-ruamel.yaml_0.17.21-1_all.deb ... 187s Unpacking python3-ruamel.yaml (0.17.21-1) ... 187s Selecting previously unselected package python3-simplejson. 187s Preparing to unpack .../32-python3-simplejson_3.19.2-1build1_ppc64el.deb ... 187s Unpacking python3-simplejson (3.19.2-1build1) ... 187s Selecting previously unselected package python3-translate. 187s Preparing to unpack .../33-python3-translate_3.12.2-1_all.deb ... 187s Unpacking python3-translate (3.12.2-1) ... 187s Selecting previously unselected package python3-vobject. 187s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 187s Unpacking python3-vobject (0.9.6.1-2) ... 187s Selecting previously unselected package python3-xapian. 187s Preparing to unpack .../35-python3-xapian_1.4.22-1build2_ppc64el.deb ... 187s Unpacking python3-xapian (1.4.22-1build2) ... 187s Selecting previously unselected package subversion. 187s Preparing to unpack .../36-subversion_1.14.3-1build2_ppc64el.deb ... 187s Unpacking subversion (1.14.3-1build2) ... 187s Selecting previously unselected package translate-toolkit. 187s Preparing to unpack .../37-translate-toolkit_3.12.2-1_all.deb ... 187s Unpacking translate-toolkit (3.12.2-1) ... 187s Selecting previously unselected package python3-iniparse. 187s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 187s Unpacking python3-iniparse (0.5-2) ... 187s Selecting previously unselected package python3-pycountry. 187s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 187s Unpacking python3-pycountry (23.12.11+ds1-2) ... 187s Selecting previously unselected package autopkgtest-satdep. 187s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 187s Unpacking autopkgtest-satdep (0) ... 187s Setting up python3-more-itertools (10.2.0-1) ... 188s Setting up libxapian30:ppc64el (1.4.22-1) ... 188s Setting up python3-diff-match-patch (20230430-1) ... 188s Setting up python3-jaraco.functools (4.0.0-1) ... 188s Setting up python3-aeidon (1.11-2) ... 190s Setting up libutf8proc3:ppc64el (2.9.0-1) ... 190s Setting up libaspell15:ppc64el (0.60.8.1-1) ... 190s Setting up python3-ply (3.11-6) ... 190s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 190s Setting up libapr1:ppc64el (1.7.2-3) ... 190s Setting up libgomp1:ppc64el (14-20240303-1ubuntu1) ... 190s Setting up python3-simplejson (3.19.2-1build1) ... 190s Setting up emacsen-common (3.0.5) ... 190s Setting up python3-cheroot (10.0.0+ds1-1) ... 190s Setting up python3-pycountry (23.12.11+ds1-2) ... 190s Setting up python3-xapian (1.4.22-1build2) ... 190s Setting up python3-ruamel.yaml (0.17.21-1) ... 190s Setting up python3-mistletoe (1.3.0-1) ... 190s Setting up libexttextcat-data (3.4.7-1) ... 190s Setting up libxslt1.1:ppc64el (1.1.39-0exp1) ... 190s Setting up python3-dateutil (2.8.2-3) ... 190s Setting up python3-levenshtein (0.12.2-3) ... 190s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 190s Setting up python3-soupsieve (2.5-1) ... 190s Setting up python3-iniparse (0.5-2) ... 190s Setting up libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 190s Setting up python3-vobject (0.9.6.1-2) ... 190s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 190s patterns['name'] = '[a-zA-Z0-9\-_]+' 190s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 190s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 190s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 190s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 190s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 190s """ 190s Setting up gettext (0.21-14ubuntu1) ... 190s Setting up python3-phply (1.2.6-1) ... 190s Setting up dictionaries-common (1.29.7) ... 190s Setting up libserf-1-1:ppc64el (1.3.10-1) ... 190s Setting up python3-bs4 (4.12.3-1) ... 191s Setting up python3-lxml:ppc64el (5.1.0-1) ... 191s Setting up hunspell-en-us (1:2020.12.07-2) ... 191s Setting up libsvn1:ppc64el (1.14.3-1build2) ... 191s Setting up libenchant-2-2:ppc64el (2.3.3-2) ... 191s Setting up subversion (1.14.3-1build2) ... 191s Setting up python3-enchant (3.2.2-1) ... 191s Setting up python3-translate (3.12.2-1) ... 191s Setting up translate-toolkit (3.12.2-1) ... 191s Setting up autopkgtest-satdep (0) ... 191s Processing triggers for man-db (2.12.0-3) ... 192s Processing triggers for install-info (7.1-3) ... 192s Processing triggers for libc-bin (2.39-0ubuntu6) ... 192s Processing triggers for dictionaries-common (1.29.7) ... 195s (Reading database ... 73085 files and directories currently installed.) 195s Removing autopkgtest-satdep (0) ... 196s autopkgtest [10:13:34]: test translate-toolkit: [----------------------- 196s ========= SMOKE TEST: /usr/bin/android2po =========== 196s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Convert Android string files to Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/android2po.html for examples and usage 196s 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 xml format 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 xml format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 196s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 196s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 196s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 196s input files [input files ...] 196s 196s positional arguments: 196s input files 196s 196s options: 196s -h, --help show this help message and exit 196s -d TMDB_FILE, --tmdb TMDB_FILE 196s translation memory database file (default: tm.db) 196s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 196s source language of translation files (default: en) 196s -t TARGET_LANG, --import-target-lang TARGET_LANG 196s target language of translation files 196s ========= SMOKE TEST: /usr/bin/buildxpi =========== 196s usage: Usage: buildxpi.py [] [ ...] 196s 196s positional arguments: 196s langs 196s 196s options: 196s -h, --help show this help message and exit 196s -L L10NBASE, --l10n-base L10NBASE 196s The directory containing the subdirectory. 196s -o OUTPUTDIR, --output-dir OUTPUTDIR 196s The directory to copy the built XPI to (default: 196s current directory). 196s -p MOZPRODUCT, --mozproduct MOZPRODUCT 196s The Mozilla product name (default: "browser"). 196s -s SRCDIR, --src SRCDIR 196s The directory containing the Mozilla l10n sources. 196s -d, --delete-dest Delete output XPI if it already exists. 196s -v, --verbose Be more noisy 196s --soft-max-version Override a fixed max version with one to cover the 196s whole cycle e.g. 24.0a1 becomes 24.0.* 197s ========= SMOKE TEST: /usr/bin/csv2po =========== 197s 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] 197s 197s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 197s See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in csv format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in po, pot, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --charset=CHARSET set charset to decode from csv files 197s --columnorder=COLUMNORDER 197s specify the order and position of columns 197s (location,source,target) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 197s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 197s glossary file. See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in csv format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in tbx format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s --charset=CHARSET set charset to decode from csv files 197s --columnorder=COLUMNORDER 197s specify the order and position of columns 197s (comment,source,target) 197s ========= SMOKE TEST: /usr/bin/dtd2po =========== 197s 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] 197s 197s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 197s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 197s this module You can convert back to .dtd using po2dtd.py. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in dtd format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in dtd format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 197s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert flat XML files to Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/flatxml2po.html for examples and usage 197s instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in xml format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -r ROOT, --root=ROOT name of the XML root element (default: "root") 197s -v VALUE, --value=VALUE 197s name of the XML value element (default: "str") 197s -k KEY, --key=KEY name of the XML key attribute (default: "key") 197s -n NS, --namespace=NS 197s XML namespace uri (default: None) 197s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 197s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 197s [--delete-dest] [-v] 197s 197s options: 197s -h, --help show this help message and exit 197s -s SRCDIR, --src SRCDIR 197s The directory containing the Mozilla l10n sources. 197s -d DESTDIR, --dest DESTDIR 197s The destination directory to copy the en-US locale 197s files to. 197s -p MOZPRODUCT, --mozproduct MOZPRODUCT 197s The Mozilla product name. 197s --delete-dest Delete the destination directory (if it exists). 197s -v, --verbose Be more noisy 197s ========= SMOKE TEST: /usr/bin/html2po =========== 197s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 197s 197s Convert HTML files to Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in htm, html, xhtml formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --keepcomments preserve html comments as translation notes in the 197s output 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s --multifile=MULTIFILESTYLE 197s how to split po/pot files (single, toplevel or 197s onefile) 197s ========= SMOKE TEST: /usr/bin/ical2po =========== 197s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 197s EPOCH = datetime.datetime.utcfromtimestamp(0) 197s 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] 197s 197s Convert iCalendar files to Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in ics format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in ics format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/idml2po =========== 198s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 198s 198s Convert IDML files to PO localization files. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in idml format 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s ========= SMOKE TEST: /usr/bin/ini2po =========== 198s 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] 198s 198s Convert .ini files to Gettext PO localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in ini, isl, iss formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in ini, isl, iss formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -P, --pot output PO Templates (.pot) rather than PO files (.po) 198s --duplicates=DUPLICATESTYLE 198s what to do with duplicate strings (identical source 198s text): merge, msgctxt (default: 'msgctxt') 198s ========= SMOKE TEST: /usr/bin/json2po =========== 198s 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] 198s 198s Convert JSON files to Gettext PO localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in json format 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in json format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -P, --pot output PO Templates (.pot) rather than PO files (.po) 198s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 198s everything) 198s --duplicates=DUPLICATESTYLE 198s what to do with duplicate strings (identical source 198s text): merge, msgctxt (default: 'msgctxt') 198s ========= SMOKE TEST: /usr/bin/md2po =========== 198s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 198s 198s Convert Markdown files to Gettext PO localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in markdown, md, text, txt formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -P, --pot output PO Templates (.pot) rather than PO files (.po) 198s --duplicates=DUPLICATESTYLE 198s what to do with duplicate strings (identical source 198s text): merge, msgctxt (default: 'msgctxt') 198s --multifile=MULTIFILESTYLE 198s how to split po/pot files (single, toplevel or 198s onefile) 199s ========= SMOKE TEST: /usr/bin/moz2po =========== 199s 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] 199s 199s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 199s See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in *, dtd, inc, ini, it, js, lang, 199s manifest, properties, rdf formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 199s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 199s lang.pot, manifest, properties.po, properties.pot, rdf 199s formats 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 199s manifest, properties, rdf formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -P, --pot output PO Templates (.pot) rather than PO files (.po) 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 199s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 199s 199s Convert Mozilla .lang files to Gettext PO localization files. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in lang format 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in po, pot formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -P, --pot output PO Templates (.pot) rather than PO files (.po) 199s --encoding=ENCODING The encoding of the input file (default: UTF-8) 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s ========= SMOKE TEST: /usr/bin/msghack =========== 199s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 199s This program can be used to alter .po files in ways no sane mind would think about. 199s -o result will be written to FILE 199s --invert invert a po file by switching msgid and msgstr 199s --master join any number of files in a master-formatted catalog 199s --empty empty the contents of the .po file, creating a .pot 199s --append append entries from ref.po that don't exist in file.po 199s 199s Note: It is just a replacement of msghack for backward support. 199s 199s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 199s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 199s 199s Convert OpenDocument (ODF) files to XLIFF localization files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 199s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 199s formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in xlf, xliff formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s ========= SMOKE TEST: /usr/bin/oo2po =========== 199s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 199s 199s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 199s files. See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in oo, sdf formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in po, pot formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -P, --pot output PO Templates (.pot) rather than PO files (.po) 199s -l LANG, --language=LANG 199s set target language to extract from oo file (e.g. af- 199s ZA) 199s --source-language=LANG 199s set source language code (default en-US) 199s --nonrecursiveinput don't treat the input oo as a recursive store 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s --multifile=MULTIFILESTYLE 199s how to split po/pot files (single, toplevel or 199s onefile) 199s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 199s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 199s 199s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 199s files. See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in oo, sdf formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in xlf, xliff formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -l LANG, --language=LANG 199s set target language to extract from oo file (e.g. af- 199s ZA) 199s --source-language=LANG 199s set source language code (default en-US) 199s --nonrecursiveinput don't treat the input oo as a recursive store 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s --multifile=MULTIFILESTYLE 199s how to split po/pot files (single, toplevel or 199s onefile) 199s ========= SMOKE TEST: /usr/bin/php2po =========== 199s 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] 199s 199s Convert PHP localization files to Gettext PO localization files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in html, php formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in po, pot formats 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in html, php formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -P, --pot output PO Templates (.pot) rather than PO files (.po) 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 199s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 199s 199s Convert PHP format .po files to Python format .po files. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in po, pot formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 200s ========= SMOKE TEST: /usr/bin/po2csv =========== 200s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 200s 200s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 200s See: http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in csv format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --columnorder=COLUMNORDER 200s specify the order and position of columns 200s (location,source,target) 200s ========= SMOKE TEST: /usr/bin/po2dtd =========== 200s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 200s Conversion is either done using a template plus PO file or just using the 200s .po file. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in dtd format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in dtd format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s --removeuntranslated remove untranslated strings from output 200s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 200s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to flat XML files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/flatxml2po.html for examples and usage 200s instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in xml format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in xml format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -r ROOT, --root=ROOT name of the XML root element (default: "root") 200s -v VALUE, --value=VALUE 200s name of the XML value element (default: "str") 200s -k KEY, --key=KEY name of the XML key attribute (default: "key") 200s -n NS, --namespace=NS 200s XML namespace uri (default: None) 200s -w INDENT, --indent=INDENT 200s indent width in spaces, 0 for no indent (default: 2) 200s ========= SMOKE TEST: /usr/bin/po2html =========== 200s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Translate HTML files using Gettext PO localization files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in htm, html, xhtml formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in htm, html, xhtml formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2ical =========== 200s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 200s EPOCH = datetime.datetime.utcfromtimestamp(0) 200s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to iCalendar files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in ics format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ics format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2idml =========== 200s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Takes an IDML template file and a PO file containing translations of strings 200s in the IDML template. It creates a new IDML file using the translations of the 200s PO file. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in idml format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in idml format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s ========= SMOKE TEST: /usr/bin/po2ini =========== 200s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to .ini files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in ini, isl formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ini, isl formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2json =========== 201s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to JSON files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in json format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in json format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s --removeuntranslated remove untranslated strings from output 201s ========= SMOKE TEST: /usr/bin/po2md =========== 201s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Translate Markdown files using Gettext PO localization files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in markdown, md, text, txt formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in markdown, md, text, txt formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -m MAXLENGTH, --maxlinelength=MAXLENGTH 201s reflow (word wrap) the output to the given maximum 201s line length. set to 0 to disable 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2moz =========== 201s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 201s See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in *, dtd.po, dtd.pot, inc.po, 201s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 201s lang.pot, manifest, properties.po, properties.pot, rdf 201s formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -l LOCALE, --locale=LOCALE 201s set output locale (required as this sets the directory 201s names) 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s --removeuntranslated remove untranslated strings from output 201s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 201s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .lang files. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in lang format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in lang format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --mark-active mark the file as active 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2oo =========== 202s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 202s file. See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot, xlf, xliff formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in oo, sdf formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in oo, sdf formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s -l LANG, --language=LANG 202s set target language code (e.g. af-ZA) [required] 202s --source-language=LANG 202s set source language code (default en-US) 202s -T, --keeptimestamp don't change the timestamps of the strings 202s --nonrecursiveoutput don't treat the output oo as a recursive store 202s --nonrecursivetemplate 202s don't treat the template oo as a recursive store 202s --skipsource don't output the source language, but fallback to it 202s where needed 202s --filteraction=ACTION 202s action on pofilter failure: none (default), warn, 202s exclude-serious, exclude-all 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s --multifile=MULTIFILESTYLE 202s how to split po/pot files (single, toplevel or 202s onefile) 202s ========= SMOKE TEST: /usr/bin/po2php =========== 202s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to PHP localization files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in html, php formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in html, php formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2prop =========== 202s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to Java/Mozilla .properties files. 202s See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in lang, properties, strings formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in lang, properties, strings 202s formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --personality=TYPE override the input file format: java, java-utf8, java- 202s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 202s strings, strings-utf8, joomla (for .properties files, 202s default: java) 202s --encoding=ENCODING override the encoding set by the personality 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s --removeuntranslated remove untranslated strings from output 202s ========= SMOKE TEST: /usr/bin/po2rc =========== 202s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files back to Windows Resource (.rc) files. 202s See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in rc format 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in rc format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 202s -l LANG, --lang=LANG LANG entry 202s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2resx =========== 202s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in resx format 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in resx format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2sub =========== 202s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to subtitle files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in ass, srt, ssa, sub formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in ass, srt, ssa, sub formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2symb =========== 202s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to Symbian translation files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in r0 format 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --duplicates=DUPLICATESTYLE 202s what to do with duplicate strings (identical source 202s text): merge, msgctxt (default: 'msgctxt') 203s ========= SMOKE TEST: /usr/bin/po2tiki =========== 203s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Gettext PO files to TikiWiki's language.php files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in tiki format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s ========= SMOKE TEST: /usr/bin/po2tmx =========== 203s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 203s file. See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in tmx format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -l LANG, --language=LANG 203s set target language code (e.g. af-ZA) [required] 203s --source-language=LANG 203s set source language code (default: en) 203s --comments=COMMENT set default comment import: none, source, type or 203s others (default: none) 203s ========= SMOKE TEST: /usr/bin/po2ts =========== 203s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in ts format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in ts format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -c CONTEXT, --context=CONTEXT 203s use supplied context instead of the one in the .po 203s file comment 203s ========= SMOKE TEST: /usr/bin/po2txt =========== 203s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to plain text (.txt) files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot, xlf, xliff formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in txt format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in txt format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --encoding=ENCODING The encoding of the template file (default: UTF-8) 203s -w WRAP, --wrap=WRAP set number of columns to wrap text at 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 203s ========= SMOKE TEST: /usr/bin/po2web2py =========== 203s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in py format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 203s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 203s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Gettext PO localization files to a Wordfast translation memory file. 203s See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/po2wordfast.html for examples and usage 203s instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in txt format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -l LANG, --language=LANG 203s set target language code (e.g. af-ZA) [required] 203s --source-language=LANG 203s set source language code (default: en) 203s ========= SMOKE TEST: /usr/bin/po2xliff =========== 203s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to XLIFF localization files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in xlf, xliff formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in xlf, xliff formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s ========= SMOKE TEST: /usr/bin/po2yaml =========== 203s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to YAML files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in yaml, yml formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in yaml, yml formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 205s ========= SMOKE TEST: /usr/bin/poclean =========== 205s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 205s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 205s produces the target file with only the target text in from a text version of 205s the RTF. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s ========= SMOKE TEST: /usr/bin/pocompendium =========== 205s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 205s The first parameter is the output file, standard output if the output file is '-'. 205s Any number of directories may be specified for input files. 205s Options: 205s --invert|v Creates an inverse compendium with msgid and msgstr swapped 205s --errors|e Only ouput msg bundles that have errors 205s --correct|c Only ouput msg bundles that are correctly translated 205s --ignore-case|i Drops all strings to lowercase 205s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 205s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 205s --strip-accel-under|-su Strip all underscore (_) accelerator characters 205s ========= SMOKE TEST: /usr/bin/pocompile =========== 205s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 205s Object) files. See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in mo format 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --fuzzy use translations marked fuzzy 205s --nofuzzy don't use translations marked fuzzy (default) 205s ========= SMOKE TEST: /usr/bin/poconflicts =========== 205s 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] 205s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 205s 205s Conflict finder for Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/poconflicts.html for examples and usage 205s instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po format 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po format 205s -I, --ignore-case ignore case distinctions 205s -v, --invert invert the conflicts thus extracting conflicting 205s destination words 205s --accelerator=ACCELERATORS 205s ignores the given accelerator characters when matching 205s ========= SMOKE TEST: /usr/bin/pocount =========== 205s usage: pocount [-h] [--incomplete] 205s [--full | --csv | --short | --short-strings | --short-words] 205s [--no-color] 205s files [files ...] 205s 205s positional arguments: 205s files 205s 205s options: 205s -h, --help show this help message and exit 205s --incomplete skip 100% translated files. 205s 205s Output format: 205s --full (default) statistics in full, verbose format 205s --csv statistics in CSV format 205s --short same as --short-strings 205s --short-strings statistics of strings in short format - one line per file 205s --short-words statistics of words in short format - one line per file 205s --no-color show output without color 205s ========= SMOKE TEST: /usr/bin/podebug =========== 205s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Insert debug messages into XLIFF and Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, tmx, xlf, xliff 205s formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, tmx, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -f FORMAT, --format=FORMAT 205s specify format string 205s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 205s classified, en, flipped, unicode, xxx 205s --ignore=APPLICATION apply tagging ignore rules for the given application: 205s gtk, kde, libreoffice, mozilla, openoffice 205s --preserveplaceholders 205s attempt to exclude characters that are part of 205s placeholders when performing character-level rewrites 205s so that consuming applications can still use the 205s placeholders to generate final output 205s ========= SMOKE TEST: /usr/bin/pofilter =========== 205s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 205s 205s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 205s Snippet files are created whenever a test fails. These can be examined, 205s corrected and merged back into the originals using pomerge. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 205s and http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 205s tests. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, tmx, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, tmx, xlf, xliff formats 205s -l, --listfilters list filters available 205s --review include units marked for review (default) 205s --noreview exclude units marked for review 205s --fuzzy include units marked fuzzy (default) 205s --nofuzzy exclude units marked fuzzy 205s --nonotes don't add notes about the errors 205s --autocorrect output automatic corrections where possible rather 205s than describing issues 205s --language=LANG set target language code (e.g. af-ZA) [required for 205s spell check and recommended in general] 205s --openoffice use the standard checks for OpenOffice translations 205s --libreoffice use the standard checks for LibreOffice translations 205s --mozilla use the standard checks for Mozilla translations 205s --drupal use the standard checks for Drupal translations 205s --gnome use the standard checks for Gnome translations 205s --kde use the standard checks for KDE translations 205s --wx use the standard checks for wxWidgets translations 205s --excludefilter=FILTER 205s don't use FILTER when filtering 205s -t FILTER, --test=FILTER 205s only use test FILTERs specified with this option when 205s filtering 205s --notranslatefile=FILE 205s read list of untranslatable words from FILE (must not 205s be translated) 205s --musttranslatefile=FILE 205s read list of translatable words from FILE (must be 205s translated) 205s --validcharsfile=FILE 205s read list of all valid characters from FILE (must be 205s in UTF-8) 205s ========= SMOKE TEST: /usr/bin/pogrep =========== 205s 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] 205s 205s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 205s snippet files of the same type which can then be reviewed and later merged 205s using :doc:`pomerge `. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 205s xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 205s xliff formats 205s --search=SEARCHPARTS searches the given parts (source, target, notes and 205s locations) 205s -I, --ignore-case ignore case distinctions 205s -e, --regexp use regular expression matching 205s -v, --invert-match select non-matching lines 205s --accelerator=ACCELERATOR 205s ignores the given accelerator when matching 205s -k, --keep-translations 205s always extract units with translations 205s ========= SMOKE TEST: /usr/bin/pomerge =========== 205s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Merges XLIFF and Gettext PO localization files. Snippet file produced by 205s e.g. :doc:`pogrep ` and updated by a translator can be 205s merged back into the original files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, pot, xlf, xliff formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in po, pot, pot, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --mergeblanks=MERGEBLANKS 205s whether to overwrite existing translations with blank 205s translations (yes/no). Default is yes. 205s --mergefuzzy=MERGEFUZZY 205s whether to consider fuzzy translations from input 205s (yes/no). Default is yes. 205s --mergecomments=MERGECOMMENTS 205s whether to merge comments as well as translations 205s (yes/no). Default is yes. 205s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 205s Usage pomigrate2 [options] 205s 205s Options: 205s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 205s -C|--use-compendium - create and use a compendium built from the migrating files 205s -C|--use-compendium=some-compendium.po 205s - use an external compendium during the migration 205s --no-wrap - do not wrap long lines 205s --locale=lang - set locale for newly born files 205s -q|--quiet - suppress most output 205s -p|--pot2po - use pot2po instead of msgmerge to migrate 205s ========= SMOKE TEST: /usr/bin/popuretext =========== 205s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 205s ========= SMOKE TEST: /usr/bin/poreencode =========== 205s Usage: poreencode 205s eg: poreencode UTF-8 af/ 205s ========= SMOKE TEST: /usr/bin/porestructure =========== 205s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 205s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 205s 205s Restructure Gettxt PO files produced by :doc:`poconflicts 205s ` into the original directory tree for merging using 205s :doc:`pomerge `. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po format 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po format 205s ========= SMOKE TEST: /usr/bin/posegment =========== 205s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 205s 205s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 205s See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, tmx, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, tmx, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s -l LANG, --language=LANG 205s the target language code 205s --source-language=LANG 205s the source language code (default 'en') 205s --keepspaces Disable automatic stripping of whitespace 205s --only-aligned Removes units where sentence number does not 205s correspond 205s ========= SMOKE TEST: /usr/bin/poswap =========== 205s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Builds a new translation file with the target of the input language as source 205s language. .. note:: Ensure that the two po files correspond 100% to the same 205s pot file before using this. To translate Kurdish (ku) through French:: 205s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 205s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in po, pot, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --reverse reverse the process of intermediate language 205s conversion 205s ========= SMOKE TEST: /usr/bin/pot2po =========== 205s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 205s 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] 205s 205s Convert template files (like .pot or template .xlf files) to translation 205s files, preserving existing translations. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 205s formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 205s xliff formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 205s xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --tm=TM The file to use as translation memory when fuzzy 205s matching 205s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 205s The minimum similarity for inclusion (default: 75%) 205s --nofuzzymatching Disable fuzzy matching 205s ========= SMOKE TEST: /usr/bin/poterminology =========== 205s 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] 205s input directory is searched for PO files, terminology PO file is output file 205s 205s Create a terminology file by reading a set of .po or .pot files to produce a 205s pootle-terminology.pot. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/poterminology.html for examples and usage 205s instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -u UPDATEFILE, --update=UPDATEFILE 205s update terminology in UPDATEFILE 205s -S STOPFILE, --stopword-list=STOPFILE 205s read stopword (term exclusion) list from STOPFILE 205s (default /usr/share/pyshared/translate/share/stoplist- 205s en) 205s -F, --fold-titlecase fold "Title Case" to lowercase (default) 205s -C, --preserve-case preserve all uppercase/lowercase 205s -I, --ignore-case make all terms lowercase 205s --accelerator=ACCELERATORS 205s ignore the given accelerator characters when matching 205s -t LENGTH, --term-words=LENGTH 205s generate terms of up to LENGTH words (default 3) 205s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 205s 1) 205s --inputs-needed=MIN omit terms appearing in less than MIN input files 205s (default 2, or 1 if only one input file) 205s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 205s different messages (default 1) 205s --substr-needed=MIN omit substring-only terms appearing in less than MIN 205s different messages (default 2) 205s --locs-needed=MIN omit terms appearing in less than MIN different 205s original source files (default 2) 205s --sort=ORDER output sort order(s): frequency, dictionary, length 205s (may repeat option, default is all in above order) 205s --source-language=LANG 205s the source language code (default 'en') 205s -v, --invert invert the source and target languages for terminology 205s ========= SMOKE TEST: /usr/bin/pretranslate =========== 205s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 205s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Fill localization files with suggested translations based on translation 205s memory and existing translations. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pretranslate.html for examples and usage 205s instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, xlf, xliff formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in po, pot, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --tm=TM The file to use as translation memory when fuzzy 205s matching 205s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 205s The minimum similarity for inclusion (default: 75%) 205s --nofuzzymatching Disable fuzzy matching 205s ========= SMOKE TEST: /usr/bin/prop2po =========== 205s 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] 205s 205s Convert Java/Mozilla .properties files to Gettext PO localization files. 205s See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in lang, properties, strings formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in lang, properties, strings 205s formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --personality=TYPE override the input file format: java, java-utf8, java- 205s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 205s strings, strings-utf8, joomla (for .properties files, 205s default: java) 205s --encoding=ENCODING override the encoding set by the personality 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/pydiff =========== 205s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 205s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 205s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 205s fromfile tofile 205s 205s positional arguments: 205s fromfile 205s tofile 205s 205s options: 205s -h, --help show this help message and exit 205s -i, --ignore-case Ignore case differences in file contents. 205s -U NUM, --unified NUM 205s Output NUM (default 3) lines of unified context 205s -r, --recursive Recursively compare any subdirectories found. 205s -N, --new-file Treat absent files as empty. 205s --unidirectional-new-file 205s Treat absent first files as empty. 205s -s, --report-identical-files 205s Report when two files are the same. 205s -x PAT, --exclude PAT 205s Exclude files that match PAT. 205s --fromcontains TEXT Only show changes where fromfile contains TEXT 205s --tocontains TEXT Only show changes where tofile contains TEXT 205s --contains TEXT Only show changes where fromfile or tofile contains 205s TEXT 205s -I, --ignore-case-contains 205s Ignore case differences when matching any of the 205s changes 205s --accelerator ACCELERATORS 205s ignores the given accelerator characters when matching 205s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 205s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert Python format .po files to PHP format .po files. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s ========= SMOKE TEST: /usr/bin/rc2po =========== 206s 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] 206s 206s Convert Windows RC files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in nls, rc formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in nls, rc formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --charset=CHARSET charset to use to decode the RC files (autodetection 206s is used by default) 206s -l LANG, --lang=LANG LANG entry (default: None) 206s --sublang=SUBLANG SUBLANG entry (default: None) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/resx2po =========== 206s 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] 206s 206s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in resx format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in resx format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 206s everything) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/sub2po =========== 206s 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] 206s 206s Convert subtitle files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in ass, srt, ssa, sub formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in ass, srt, ssa, sub formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/symb2po =========== 206s 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] 206s 206s Convert Symbian localisation files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in r01 format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/tbx2po =========== 206s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in tbx format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s ========= SMOKE TEST: /usr/bin/tiki2po =========== 206s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert TikiWiki's language.php files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in php format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --include-unused Include strings in the unused section 206s ========= SMOKE TEST: /usr/bin/tmserver =========== 206s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 206s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 206s [-s SOURCE_LANG] [-b BIND] [-p PORT] 206s [--max-candidates MAX_CANDIDATES] 206s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 206s [--debug] 206s 206s options: 206s -h, --help show this help message and exit 206s -d TMDBFILE, --tmdb TMDBFILE 206s translation memory database file 206s -f TMFILES, --import-translation-file TMFILES 206s translation file to import into the database 206s -t TARGET_LANG, --import-target-lang TARGET_LANG 206s target language of translation files 206s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 206s source language of translation files 206s -b BIND, --bind BIND address to bind server to (default: localhost) 206s -p PORT, --port PORT port to listen on (default: 8888) 206s --max-candidates MAX_CANDIDATES 206s Maximum number of candidates 206s --min-similarity MIN_SIMILARITY 206s minimum similarity 206s --max-length MAX_LENGTH 206s Maxmimum string length 206s --debug enable debugging features 206s ========= SMOKE TEST: /usr/bin/ts2po =========== 207s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in ts format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/txt2po =========== 207s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert plain text (.txt) files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in *, txt formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --encoding=ENCODING The encoding of the input file (default: UTF-8) 207s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 207s mediawiki 207s --no-segmentation Don't segment the file, treat it like a single message 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/web2py2po =========== 207s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in py format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 207s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert XLIFF translation files to OpenDocument (ODF) files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in xlf format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 207s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 207s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 207s formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 207s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 207s file. See: http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot, xlf, xliff formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in oo, sdf formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in oo, sdf formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -l LANG, --language=LANG 207s set target language code (e.g. af-ZA) [required] 207s --source-language=LANG 207s set source language code (default en-US) 207s -T, --keeptimestamp don't change the timestamps of the strings 207s --nonrecursiveoutput don't treat the output oo as a recursive store 207s --nonrecursivetemplate 207s don't treat the template oo as a recursive store 207s --skipsource don't output the source language, but fallback to it 207s where needed 207s --filteraction=ACTION 207s action on pofilter failure: none (default), warn, 207s exclude-serious, exclude-all 207s --fuzzy use translations marked fuzzy 207s --nofuzzy don't use translations marked fuzzy (default) 207s --multifile=MULTIFILESTYLE 207s how to split po/pot files (single, toplevel or 207s onefile) 207s ========= SMOKE TEST: /usr/bin/xliff2po =========== 207s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert XLIFF localization files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in xlf, xliff formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/yaml2po =========== 207s 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] 207s 207s Convert YAML files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in yaml, yml formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in yaml, yml formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 208s autopkgtest [10:13:46]: test translate-toolkit: -----------------------] 208s autopkgtest [10:13:46]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 208s translate-toolkit PASS 209s autopkgtest [10:13:47]: test python3-translate: preparing testbed 322s autopkgtest [10:15:40]: testbed dpkg architecture: ppc64el 322s autopkgtest [10:15:40]: testbed apt version: 2.7.12 322s autopkgtest [10:15:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 323s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 324s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 324s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 324s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3969 kB] 326s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 326s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [659 kB] 326s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 326s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 326s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 326s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4248 kB] 327s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 327s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [60.8 kB] 327s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 329s Fetched 9625 kB in 4s (2277 kB/s) 330s Reading package lists... 332s Reading package lists... 332s Building dependency tree... 332s Reading state information... 332s Calculating upgrade... 333s The following packages will be upgraded: 333s libbsd0 libc-bin libc6 locales 333s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 333s Need to get 8313 kB of archives. 333s After this operation, 2048 B of additional disk space will be used. 333s Get:1 http://ftpmaster.internal/ubuntu noble/main ppc64el libc6 ppc64el 2.39-0ubuntu6 [3274 kB] 334s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el libc-bin ppc64el 2.39-0ubuntu6 [751 kB] 334s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el libbsd0 ppc64el 0.12.1-1 [56.9 kB] 334s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el locales all 2.39-0ubuntu6 [4232 kB] 335s Preconfiguring packages ... 335s Fetched 8313 kB in 2s (4654 kB/s) 335s (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 ... 70156 files and directories currently installed.) 335s Preparing to unpack .../libc6_2.39-0ubuntu6_ppc64el.deb ... 335s Unpacking libc6:ppc64el (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 335s Setting up libc6:ppc64el (2.39-0ubuntu6) ... 336s (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 ... 70156 files and directories currently installed.) 336s Preparing to unpack .../libc-bin_2.39-0ubuntu6_ppc64el.deb ... 336s Unpacking libc-bin (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 336s Setting up libc-bin (2.39-0ubuntu6) ... 336s (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 ... 70156 files and directories currently installed.) 336s Preparing to unpack .../libbsd0_0.12.1-1_ppc64el.deb ... 336s Unpacking libbsd0:ppc64el (0.12.1-1) over (0.11.8-1) ... 336s Preparing to unpack .../locales_2.39-0ubuntu6_all.deb ... 336s Unpacking locales (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 336s Setting up locales (2.39-0ubuntu6) ... 337s Generating locales (this might take a while)... 338s en_US.UTF-8... done 338s Generation complete. 338s Setting up libbsd0:ppc64el (0.12.1-1) ... 338s Processing triggers for man-db (2.12.0-3) ... 339s Processing triggers for libc-bin (2.39-0ubuntu6) ... 339s Reading package lists... 339s Building dependency tree... 339s Reading state information... 340s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 340s sh: Attempting to set up Debian/Ubuntu apt sources automatically 340s sh: Distribution appears to be Ubuntu 341s Reading package lists... 341s Building dependency tree... 341s Reading state information... 341s eatmydata is already the newest version (131-1). 341s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 341s Reading package lists... 341s Building dependency tree... 341s Reading state information... 342s dbus is already the newest version (1.14.10-4ubuntu1). 342s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 342s Reading package lists... 342s Building dependency tree... 342s Reading state information... 342s rng-tools-debian is already the newest version (2.4). 342s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 342s Reading package lists... 342s Building dependency tree... 342s Reading state information... 342s The following packages will be REMOVED: 342s cloud-init* python3-configobj* python3-debconf* 342s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 342s After this operation, 3256 kB disk space will be freed. 342s (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 ... 70156 files and directories currently installed.) 342s Removing cloud-init (24.1.2-0ubuntu1) ... 343s Removing python3-configobj (5.0.8-3) ... 343s Removing python3-debconf (1.5.86) ... 343s Processing triggers for man-db (2.12.0-3) ... 343s (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 ... 69767 files and directories currently installed.) 343s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 344s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 344s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 344s invoke-rc.d: policy-rc.d denied execution of try-restart. 344s Reading package lists... 344s Building dependency tree... 344s Reading state information... 344s linux-generic is already the newest version (6.8.0-11.11+1). 344s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 345s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 345s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 345s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 347s Reading package lists... 347s Reading package lists... 347s Building dependency tree... 347s Reading state information... 348s Calculating upgrade... 348s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 348s Reading package lists... 348s Building dependency tree... 348s Reading state information... 348s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 348s autopkgtest [10:16:06]: rebooting testbed after setup commands that affected boot 399s Reading package lists... 399s Building dependency tree... 399s Reading state information... 399s Starting pkgProblemResolver with broken count: 0 399s Starting 2 pkgProblemResolver with broken count: 0 399s Done 399s The following additional packages will be installed: 399s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 399s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 399s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 399s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 399s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 399s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 399s python3-more-itertools python3-packaging python3-phply python3-pluggy 399s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 399s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 399s python3-translate python3-vobject python3-xapian subversion 400s Suggested packages: 400s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 400s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 400s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 400s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 400s libapache2-mod-svn subversion-tools 400s Recommended packages: 400s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 400s python3-cssselect python3-html5lib 400s The following NEW packages will be installed: 400s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 400s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 400s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 400s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 400s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 400s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 400s python3-more-itertools python3-packaging python3-phply python3-pluggy 400s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 400s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 400s python3-translate python3-vobject python3-xapian subversion 400s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 400s Need to get 11.4 MB/11.4 MB of archives. 400s After this operation, 54.2 MB of additional disk space will be used. 400s Get:1 /tmp/autopkgtest.9xOi3x/2-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [880 B] 400s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 400s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el dictionaries-common all 1.29.7 [188 kB] 400s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el libgomp1 ppc64el 14-20240303-1ubuntu1 [161 kB] 400s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el gettext ppc64el 0.21-14ubuntu1 [979 kB] 400s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 400s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el libapr1 ppc64el 1.7.2-3 [130 kB] 400s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el libaprutil1 ppc64el 1.6.3-1ubuntu1 [110 kB] 400s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libaspell15 ppc64el 0.60.8.1-1 [466 kB] 400s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10 [309 kB] 400s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libenchant-2-2 ppc64el 2.3.3-2 [58.4 kB] 400s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libexttextcat-data all 3.4.7-1 [235 kB] 400s Get:13 http://ftpmaster.internal/ubuntu noble/universe ppc64el libserf-1-1 ppc64el 1.3.10-1 [55.4 kB] 400s Get:14 http://ftpmaster.internal/ubuntu noble/universe ppc64el libutf8proc3 ppc64el 2.9.0-1 [71.6 kB] 400s Get:15 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsvn1 ppc64el 1.14.3-1build2 [1640 kB] 401s Get:16 http://ftpmaster.internal/ubuntu noble/universe ppc64el libxapian30 ppc64el 1.4.22-1 [825 kB] 401s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1 [192 kB] 401s Get:18 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 401s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-all ppc64el 3.12.1-0ubuntu2 [904 B] 401s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 401s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 401s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 401s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 401s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 401s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 401s Get:26 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 401s Get:27 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 401s Get:28 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 401s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-levenshtein ppc64el 0.12.2-3 [53.9 kB] 401s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-lxml ppc64el 5.1.0-1 [2191 kB] 401s Get:31 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 401s Get:32 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-packaging all 23.2-1 [40.6 kB] 401s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-ply all 3.11-6 [46.5 kB] 401s Get:34 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 401s Get:35 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pluggy all 1.4.0-1 [20.4 kB] 401s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest all 7.4.4-1 [305 kB] 401s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8-1 [235 kB] 401s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 401s Get:39 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-simplejson ppc64el 3.19.2-1build1 [70.4 kB] 401s Get:40 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-syrupy all 4.6.1-1 [42.8 kB] 401s Get:41 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-translate all 3.12.2-1 [317 kB] 401s Get:42 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 401s Get:43 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-xapian ppc64el 1.4.22-1build2 [519 kB] 401s Get:44 http://ftpmaster.internal/ubuntu noble/universe ppc64el subversion ppc64el 1.14.3-1build2 [945 kB] 401s Get:45 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 401s Get:46 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 402s Preconfiguring packages ... 402s Fetched 11.4 MB in 2s (6026 kB/s) 402s Selecting previously unselected package emacsen-common. 402s (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 ... 69712 files and directories currently installed.) 402s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 402s Unpacking emacsen-common (3.0.5) ... 402s Selecting previously unselected package dictionaries-common. 402s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 402s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 402s Unpacking dictionaries-common (1.29.7) ... 402s Selecting previously unselected package libgomp1:ppc64el. 402s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_ppc64el.deb ... 402s Unpacking libgomp1:ppc64el (14-20240303-1ubuntu1) ... 402s Selecting previously unselected package gettext. 402s Preparing to unpack .../03-gettext_0.21-14ubuntu1_ppc64el.deb ... 402s Unpacking gettext (0.21-14ubuntu1) ... 402s Selecting previously unselected package hunspell-en-us. 402s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 402s Unpacking hunspell-en-us (1:2020.12.07-2) ... 402s Selecting previously unselected package libapr1:ppc64el. 402s Preparing to unpack .../05-libapr1_1.7.2-3_ppc64el.deb ... 402s Unpacking libapr1:ppc64el (1.7.2-3) ... 402s Selecting previously unselected package libaprutil1:ppc64el. 402s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_ppc64el.deb ... 402s Unpacking libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 402s Selecting previously unselected package libaspell15:ppc64el. 402s Preparing to unpack .../07-libaspell15_0.60.8.1-1_ppc64el.deb ... 402s Unpacking libaspell15:ppc64el (0.60.8.1-1) ... 402s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 402s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_ppc64el.deb ... 402s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 402s Selecting previously unselected package libenchant-2-2:ppc64el. 402s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_ppc64el.deb ... 402s Unpacking libenchant-2-2:ppc64el (2.3.3-2) ... 402s Selecting previously unselected package libexttextcat-data. 402s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 402s Unpacking libexttextcat-data (3.4.7-1) ... 402s Selecting previously unselected package libserf-1-1:ppc64el. 402s Preparing to unpack .../11-libserf-1-1_1.3.10-1_ppc64el.deb ... 402s Unpacking libserf-1-1:ppc64el (1.3.10-1) ... 402s Selecting previously unselected package libutf8proc3:ppc64el. 402s Preparing to unpack .../12-libutf8proc3_2.9.0-1_ppc64el.deb ... 402s Unpacking libutf8proc3:ppc64el (2.9.0-1) ... 402s Selecting previously unselected package libsvn1:ppc64el. 402s Preparing to unpack .../13-libsvn1_1.14.3-1build2_ppc64el.deb ... 402s Unpacking libsvn1:ppc64el (1.14.3-1build2) ... 402s Selecting previously unselected package libxapian30:ppc64el. 402s Preparing to unpack .../14-libxapian30_1.4.22-1_ppc64el.deb ... 402s Unpacking libxapian30:ppc64el (1.4.22-1) ... 402s Selecting previously unselected package libxslt1.1:ppc64el. 402s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1_ppc64el.deb ... 402s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1) ... 402s Selecting previously unselected package python3-aeidon. 402s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 402s Unpacking python3-aeidon (1.11-2) ... 402s Selecting previously unselected package python3-all. 402s Preparing to unpack .../17-python3-all_3.12.1-0ubuntu2_ppc64el.deb ... 402s Unpacking python3-all (3.12.1-0ubuntu2) ... 402s Selecting previously unselected package python3-soupsieve. 402s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 402s Unpacking python3-soupsieve (2.5-1) ... 402s Selecting previously unselected package python3-bs4. 402s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 402s Unpacking python3-bs4 (4.12.3-1) ... 402s Selecting previously unselected package python3-more-itertools. 402s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 402s Unpacking python3-more-itertools (10.2.0-1) ... 402s Selecting previously unselected package python3-jaraco.functools. 402s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 402s Unpacking python3-jaraco.functools (4.0.0-1) ... 402s Selecting previously unselected package python3-cheroot. 402s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-1_all.deb ... 402s Unpacking python3-cheroot (10.0.0+ds1-1) ... 402s Selecting previously unselected package python3-dateutil. 402s Preparing to unpack .../23-python3-dateutil_2.8.2-3_all.deb ... 402s Unpacking python3-dateutil (2.8.2-3) ... 402s Selecting previously unselected package python3-diff-match-patch. 402s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 402s Unpacking python3-diff-match-patch (20230430-1) ... 402s Selecting previously unselected package python3-enchant. 402s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 402s Unpacking python3-enchant (3.2.2-1) ... 402s Selecting previously unselected package python3-iniconfig. 402s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 402s Unpacking python3-iniconfig (1.1.1-2) ... 403s Selecting previously unselected package python3-levenshtein. 403s Preparing to unpack .../27-python3-levenshtein_0.12.2-3_ppc64el.deb ... 403s Unpacking python3-levenshtein (0.12.2-3) ... 403s Selecting previously unselected package python3-lxml:ppc64el. 403s Preparing to unpack .../28-python3-lxml_5.1.0-1_ppc64el.deb ... 403s Unpacking python3-lxml:ppc64el (5.1.0-1) ... 403s Selecting previously unselected package python3-mistletoe. 403s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 403s Unpacking python3-mistletoe (1.3.0-1) ... 403s Selecting previously unselected package python3-packaging. 403s Preparing to unpack .../30-python3-packaging_23.2-1_all.deb ... 403s Unpacking python3-packaging (23.2-1) ... 403s Selecting previously unselected package python3-ply. 403s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 403s Unpacking python3-ply (3.11-6) ... 403s Selecting previously unselected package python3-phply. 403s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 403s Unpacking python3-phply (1.2.6-1) ... 403s Selecting previously unselected package python3-pluggy. 403s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 403s Unpacking python3-pluggy (1.4.0-1) ... 403s Selecting previously unselected package python3-pytest. 403s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 403s Unpacking python3-pytest (7.4.4-1) ... 403s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 403s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8-1_ppc64el.deb ... 403s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 403s Selecting previously unselected package python3-ruamel.yaml. 403s Preparing to unpack .../36-python3-ruamel.yaml_0.17.21-1_all.deb ... 403s Unpacking python3-ruamel.yaml (0.17.21-1) ... 403s Selecting previously unselected package python3-simplejson. 403s Preparing to unpack .../37-python3-simplejson_3.19.2-1build1_ppc64el.deb ... 403s Unpacking python3-simplejson (3.19.2-1build1) ... 403s Selecting previously unselected package python3-syrupy. 403s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 403s Unpacking python3-syrupy (4.6.1-1) ... 403s Selecting previously unselected package python3-translate. 403s Preparing to unpack .../39-python3-translate_3.12.2-1_all.deb ... 403s Unpacking python3-translate (3.12.2-1) ... 403s Selecting previously unselected package python3-vobject. 403s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 403s Unpacking python3-vobject (0.9.6.1-2) ... 403s Selecting previously unselected package python3-xapian. 403s Preparing to unpack .../41-python3-xapian_1.4.22-1build2_ppc64el.deb ... 403s Unpacking python3-xapian (1.4.22-1build2) ... 403s Selecting previously unselected package subversion. 403s Preparing to unpack .../42-subversion_1.14.3-1build2_ppc64el.deb ... 403s Unpacking subversion (1.14.3-1build2) ... 403s Selecting previously unselected package python3-iniparse. 403s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 403s Unpacking python3-iniparse (0.5-2) ... 403s Selecting previously unselected package python3-pycountry. 403s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 403s Unpacking python3-pycountry (23.12.11+ds1-2) ... 403s Selecting previously unselected package autopkgtest-satdep. 403s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 403s Unpacking autopkgtest-satdep (0) ... 403s Setting up python3-more-itertools (10.2.0-1) ... 403s Setting up python3-iniconfig (1.1.1-2) ... 403s Setting up libxapian30:ppc64el (1.4.22-1) ... 403s Setting up python3-diff-match-patch (20230430-1) ... 404s Setting up python3-jaraco.functools (4.0.0-1) ... 404s Setting up python3-aeidon (1.11-2) ... 404s Setting up libutf8proc3:ppc64el (2.9.0-1) ... 404s Setting up libaspell15:ppc64el (0.60.8.1-1) ... 404s Setting up python3-ply (3.11-6) ... 404s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 404s Setting up libapr1:ppc64el (1.7.2-3) ... 404s Setting up python3-all (3.12.1-0ubuntu2) ... 404s Setting up libgomp1:ppc64el (14-20240303-1ubuntu1) ... 404s Setting up python3-simplejson (3.19.2-1build1) ... 404s Setting up python3-packaging (23.2-1) ... 404s Setting up emacsen-common (3.0.5) ... 404s Setting up python3-cheroot (10.0.0+ds1-1) ... 405s Setting up python3-pycountry (23.12.11+ds1-2) ... 405s Setting up python3-xapian (1.4.22-1build2) ... 405s Setting up python3-pluggy (1.4.0-1) ... 405s Setting up python3-ruamel.yaml (0.17.21-1) ... 405s Setting up python3-mistletoe (1.3.0-1) ... 405s Setting up libexttextcat-data (3.4.7-1) ... 405s Setting up libxslt1.1:ppc64el (1.1.39-0exp1) ... 405s Setting up python3-dateutil (2.8.2-3) ... 405s Setting up python3-levenshtein (0.12.2-3) ... 406s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 406s Setting up python3-soupsieve (2.5-1) ... 406s Setting up python3-iniparse (0.5-2) ... 406s Setting up libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 406s Setting up python3-vobject (0.9.6.1-2) ... 406s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 406s patterns['name'] = '[a-zA-Z0-9\-_]+' 406s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 406s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 406s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 406s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 406s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 406s """ 406s Setting up gettext (0.21-14ubuntu1) ... 406s Setting up python3-phply (1.2.6-1) ... 406s Setting up dictionaries-common (1.29.7) ... 406s Setting up python3-pytest (7.4.4-1) ... 407s Setting up python3-syrupy (4.6.1-1) ... 407s Setting up libserf-1-1:ppc64el (1.3.10-1) ... 407s Setting up python3-bs4 (4.12.3-1) ... 407s Setting up python3-lxml:ppc64el (5.1.0-1) ... 407s Setting up hunspell-en-us (1:2020.12.07-2) ... 407s Setting up libsvn1:ppc64el (1.14.3-1build2) ... 407s Setting up libenchant-2-2:ppc64el (2.3.3-2) ... 407s Setting up subversion (1.14.3-1build2) ... 407s Setting up python3-enchant (3.2.2-1) ... 407s Setting up python3-translate (3.12.2-1) ... 408s Setting up autopkgtest-satdep (0) ... 408s Processing triggers for man-db (2.12.0-3) ... 409s Processing triggers for install-info (7.1-3) ... 409s Processing triggers for libc-bin (2.39-0ubuntu6) ... 409s Processing triggers for dictionaries-common (1.29.7) ... 412s (Reading database ... 73111 files and directories currently installed.) 412s Removing autopkgtest-satdep (0) ... 414s autopkgtest [10:17:12]: test python3-translate: [----------------------- 415s ============================= test session starts ============================== 415s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 415s cachedir: .pytest_cache 415s rootdir: /tmp/autopkgtest.9xOi3x/autopkgtest_tmp 415s plugins: syrupy-4.6.1 420s collecting ... collected 3313 items / 2 skipped 420s 420s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 420s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 420s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 420s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 420s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 420s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 420s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 421s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 421s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 421s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 421s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 421s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 421s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 421s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 421s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 421s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 421s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 421s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 421s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 421s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 421s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 421s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 421s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 421s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 421s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 421s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 421s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 421s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 421s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 422s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 422s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 422s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 422s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 422s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 422s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 422s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 422s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 422s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 422s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 422s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 422s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 422s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 422s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 422s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 422s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 422s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 422s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 422s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 422s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 423s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 423s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 423s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 423s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 423s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 423s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 423s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 423s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 423s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 423s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 423s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 423s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 423s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 423s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 423s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 423s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 424s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 424s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 424s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 424s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 424s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 424s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 424s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 424s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 424s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 424s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 424s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 424s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 424s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 424s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 424s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 424s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 424s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 424s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 424s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 424s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 424s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 425s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 425s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 425s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 425s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 425s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 425s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 425s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 425s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 425s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 425s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 425s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 425s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 425s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 425s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 425s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 425s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 425s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 425s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 425s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 425s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 425s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 425s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 425s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 425s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 425s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 425s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 425s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 425s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 425s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 425s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 425s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 425s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 425s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 425s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 425s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 425s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 425s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 425s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 425s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 425s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 425s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 425s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 425s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 425s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 425s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 425s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 425s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 425s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 425s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 425s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 425s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 425s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 425s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 425s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 425s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 425s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 425s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 425s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 425s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 425s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 425s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 425s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 425s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 425s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 425s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 425s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 425s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 425s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 425s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 426s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 426s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 426s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 426s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 426s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 426s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 426s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 426s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 426s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 426s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 426s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 426s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 426s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 426s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 426s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 426s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 426s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 426s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 426s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 426s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 427s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 427s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 427s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 427s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 427s 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%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 427s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 427s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 427s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 427s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 427s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 427s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 427s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 427s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 427s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 427s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 427s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 427s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 427s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 427s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 427s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 429s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 429s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 429s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 429s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 429s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 429s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 429s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 429s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 429s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 429s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 429s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 429s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 429s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 429s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 430s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 430s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 430s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 430s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 430s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 430s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 430s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 430s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 430s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 430s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 430s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 430s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 430s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 430s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 430s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 430s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 431s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 431s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 431s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 432s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 432s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 432s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 432s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 432s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 432s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 432s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 432s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 432s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 432s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 432s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 432s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 432s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 432s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 432s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 432s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 432s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 432s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 432s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 432s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 432s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 432s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 432s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 432s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 432s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 432s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 432s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 432s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 432s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 432s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 432s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 432s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 432s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 432s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 432s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 432s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 433s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 433s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 433s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 433s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 433s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 433s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 433s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 433s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 433s 433s =============================== warnings summary =============================== 433s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 433s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 433s 433s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 433s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 433s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 433s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 433s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 433s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 433s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 433s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 433s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 433s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 433s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 433s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 433s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 433s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 433s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 433s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 433s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 433s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 433s Warning: Could not find accesskey for key.accesskey 433s 433s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 433s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 433s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 433s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 433s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 433s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/translate/convert/test.idml'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 433s Warning: unclosed file <_io.BufferedReader name='translation.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 433s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 433s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 433s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 433s Warning: Could not find accesskey for prop.accesskey 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 433s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 433s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 433s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 433s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 433s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 433s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 433s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 433s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 433s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 433s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 433s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/translate/convert/test.odt'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 433s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 433s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 433s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 433s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 433s Enable tracemalloc to get traceback where the object was allocated. 433s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 433s 433s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 433s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 433s 433s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 433s Warning: DTD file '' does not validate 433s 433s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 433s --------------------------- snapshot report summary ---------------------------- 433s 23 snapshots passed. 433s =========================== short test summary info ============================ 433s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 433s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 433s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 433s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 433s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 433s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 433s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 433s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 433s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 433s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 433s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 433s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 433s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 433s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 433s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 433s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 433s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 433s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 433s 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. 433s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 433s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 433s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 433s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 433s 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 433s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 433s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 433s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 433s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 433s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 433s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 433s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 433s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 433s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 433s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 433s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 433s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 433s ========== 3254 passed, 22 skipped, 39 xfailed, 47 warnings in 18.29s ========== 434s autopkgtest [10:17:32]: test python3-translate: -----------------------] 434s autopkgtest [10:17:32]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 434s python3-translate PASS 435s autopkgtest [10:17:33]: test python3-translate-commands: preparing testbed 447s Reading package lists... 447s Building dependency tree... 447s Reading state information... 447s Starting pkgProblemResolver with broken count: 0 447s Starting 2 pkgProblemResolver with broken count: 0 447s Done 447s The following additional packages will be installed: 447s translate-toolkit 447s Recommended packages: 447s translate-toolkit-doc 447s The following NEW packages will be installed: 447s autopkgtest-satdep translate-toolkit 447s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 447s Need to get 88.2 kB/89.1 kB of archives. 447s After this operation, 253 kB of additional disk space will be used. 447s Get:1 /tmp/autopkgtest.9xOi3x/3-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [888 B] 447s Get:2 http://ftpmaster.internal/ubuntu noble/universe ppc64el translate-toolkit all 3.12.2-1 [88.2 kB] 448s Fetched 88.2 kB in 0s (260 kB/s) 448s Selecting previously unselected package translate-toolkit. 448s (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 ... 73111 files and directories currently installed.) 448s Preparing to unpack .../translate-toolkit_3.12.2-1_all.deb ... 448s Unpacking translate-toolkit (3.12.2-1) ... 448s Selecting previously unselected package autopkgtest-satdep. 448s Preparing to unpack .../3-autopkgtest-satdep.deb ... 448s Unpacking autopkgtest-satdep (0) ... 448s Setting up translate-toolkit (3.12.2-1) ... 448s Setting up autopkgtest-satdep (0) ... 448s Processing triggers for man-db (2.12.0-3) ... 451s (Reading database ... 73284 files and directories currently installed.) 451s Removing autopkgtest-satdep (0) ... 451s autopkgtest [10:17:49]: test python3-translate-commands: [----------------------- 452s ============================= test session starts ============================== 452s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 452s cachedir: .pytest_cache 452s rootdir: /tmp/autopkgtest.9xOi3x/autopkgtest_tmp 452s plugins: syrupy-4.6.1 458s collecting ... collected 3313 items / 2 skipped 458s 458s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 458s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 458s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 458s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 458s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 458s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 458s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 458s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 458s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 458s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 458s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 458s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 458s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 458s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 458s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 458s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 458s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 458s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 458s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 459s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 459s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 459s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 459s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 459s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 459s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 459s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 459s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 459s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 459s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 459s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 459s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 459s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 459s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 459s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 459s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 459s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 459s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 459s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 459s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 459s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 459s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 459s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 459s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 459s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 459s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 459s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 459s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 459s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 460s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 460s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 460s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 460s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 460s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 461s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 461s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 461s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 461s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 461s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 461s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 461s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 461s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 461s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 461s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 461s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 461s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 461s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 461s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 461s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 461s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 461s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 461s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 461s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 461s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 461s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 461s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 461s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 461s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 462s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 462s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 462s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 462s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 462s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 462s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 462s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 462s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 462s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 462s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 462s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 462s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 462s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 462s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 462s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 462s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 462s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 462s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 462s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 462s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 462s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 462s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 462s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 462s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 462s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 462s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 462s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 462s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 462s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 462s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 462s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 462s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 462s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 462s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 462s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 462s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 462s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 462s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 462s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 462s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 462s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 462s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 462s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 462s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 462s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 463s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 463s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 463s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 463s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 463s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 463s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 463s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 463s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 463s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 463s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 463s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 463s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 463s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 463s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 463s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 463s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 463s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 463s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 463s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 463s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 463s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 463s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 463s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 463s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 463s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 463s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 463s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 463s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 463s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 463s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 463s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 463s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 463s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 463s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 463s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 463s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 463s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 463s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 463s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 463s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 463s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 463s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 463s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 463s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 463s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 463s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 463s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 463s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 463s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 463s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 463s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 464s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 464s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 464s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 464s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 464s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 464s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 464s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 464s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 464s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 464s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 464s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 464s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 464s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 464s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 464s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 464s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 464s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 464s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 464s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 464s 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%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 464s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 464s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 464s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 464s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 464s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 464s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 464s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 464s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 465s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 465s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 465s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 465s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 465s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 465s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 465s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 466s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 466s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 466s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 466s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 466s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 466s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 466s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 466s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 466s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 466s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 467s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 467s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 467s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 467s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 467s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 467s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 467s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 467s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 467s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 467s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 467s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 467s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 467s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 467s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 467s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 467s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 468s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 468s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 468s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 468s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 468s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 469s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 469s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 469s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 469s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 469s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 469s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 469s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 469s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 469s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 469s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 469s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 469s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 469s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 469s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 469s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 469s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 469s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 470s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 470s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 470s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 470s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 470s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 470s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 470s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 470s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 470s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 470s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 470s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 470s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 470s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 471s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 471s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 471s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 471s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 471s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 471s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 471s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 471s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 471s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 471s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 471s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 471s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 471s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 471s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 471s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 471s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 472s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 472s 472s =============================== warnings summary =============================== 472s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 472s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 472s 472s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 472s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 472s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 472s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 472s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 472s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 472s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 472s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 472s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 472s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 472s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 472s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 472s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 472s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 472s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 472s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 472s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 472s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 472s Warning: Could not find accesskey for key.accesskey 472s 472s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 472s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 472s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 472s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 472s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 472s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/translate/convert/test.idml'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 472s Warning: unclosed file <_io.BufferedReader name='translation.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 472s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 472s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 472s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 472s Warning: Could not find accesskey for prop.accesskey 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 472s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 472s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 472s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 472s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 472s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 472s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 472s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 472s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 472s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 472s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 472s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.9xOi3x/autopkgtest_tmp/tests/translate/convert/test.odt'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 472s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 472s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 472s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 472s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 472s Enable tracemalloc to get traceback where the object was allocated. 472s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 472s 472s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 472s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 472s 472s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 472s Warning: DTD file '' does not validate 472s 472s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 472s --------------------------- snapshot report summary ---------------------------- 472s 23 snapshots passed. 472s =========================== short test summary info ============================ 472s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 472s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 472s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 472s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 472s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 472s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 472s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 472s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 472s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 472s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 472s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 472s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 472s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 472s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 472s 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. 472s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 472s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 472s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 472s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 472s 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 472s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 472s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 472s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 472s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 472s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 472s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 472s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 472s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 472s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 472s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 472s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 472s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 472s ========== 3273 passed, 3 skipped, 39 xfailed, 47 warnings in 19.96s =========== 472s autopkgtest [10:18:10]: test python3-translate-commands: -----------------------] 473s python3-translate-commands PASS 473s autopkgtest [10:18:11]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 474s autopkgtest [10:18:12]: @@@@@@@@@@@@@@@@@@@@ summary 474s translate-toolkit PASS 474s python3-translate PASS 474s python3-translate-commands PASS 485s Creating nova instance adt-noble-ppc64el-translate-toolkit-20240323-101015-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)... 485s Creating nova instance adt-noble-ppc64el-translate-toolkit-20240323-101015-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240322.img (UUID 8499323f-6fcd-4f77-8a53-77410adea6d3)...