0s autopkgtest [16:16:07]: starting date and time: 2025-02-19 16:16:07+0000 0s autopkgtest [16:16:07]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [16:16:07]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.fn8ifwkg/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/8.1.3-5 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-34.secgroup --name adt-plucky-arm64-translate-toolkit-20250219-161607-juju-7f2275-prod-proposed-migration-environment-15-e7caf4b8-ad46-4b02-a6e7-71f14ed9db92 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 117s autopkgtest [16:18:04]: testbed dpkg architecture: arm64 117s autopkgtest [16:18:04]: testbed apt version: 2.9.29 117s autopkgtest [16:18:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 118s autopkgtest [16:18:05]: testbed release detected to be: None 118s autopkgtest [16:18:05]: updating testbed package index (apt update) 119s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 119s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 119s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 119s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 119s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [13.9 kB] 119s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.1 kB] 119s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 119s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [744 kB] 120s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [103 kB] 120s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [7960 B] 120s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [692 kB] 120s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [11.2 kB] 120s Fetched 1762 kB in 2s (1095 kB/s) 121s Reading package lists... 122s + lsb_release --codename --short 122s + RELEASE=plucky 122s + cat 122s + [ plucky != trusty ] 122s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 122s Reading package lists... 122s Building dependency tree... 122s Reading state information... 123s Calculating upgrade... 123s The following NEW packages will be installed: 123s libapt-pkg7.0 123s The following packages will be upgraded: 123s apt apt-utils iproute2 libgpgme11t64 liblsof0 libp11-kit0 lsof rsyslog 123s sysvinit-utils 123s 9 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 123s Need to get 5019 kB of archives. 123s After this operation, 3410 kB of additional disk space will be used. 123s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 sysvinit-utils arm64 3.14-1ubuntu1 [35.2 kB] 123s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libapt-pkg7.0 arm64 2.9.30 [1023 kB] 124s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 apt arm64 2.9.30 [1364 kB] 125s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 apt-utils arm64 2.9.30 [207 kB] 125s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 iproute2 arm64 6.13.0-1ubuntu1 [1158 kB] 125s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libp11-kit0 arm64 0.25.5-2ubuntu3 [280 kB] 125s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 rsyslog arm64 8.2412.0-2ubuntu1 [521 kB] 125s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 lsof arm64 4.99.4+dfsg-1 [236 kB] 125s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsof0 arm64 4.99.4+dfsg-1 [53.9 kB] 125s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.2-1ubuntu1 [142 kB] 126s Preconfiguring packages ... 126s Fetched 5019 kB in 2s (2171 kB/s) 127s (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 ... 116620 files and directories currently installed.) 127s Preparing to unpack .../sysvinit-utils_3.14-1ubuntu1_arm64.deb ... 127s Unpacking sysvinit-utils (3.14-1ubuntu1) over (3.08-6ubuntu3) ... 127s Setting up sysvinit-utils (3.14-1ubuntu1) ... 127s Selecting previously unselected package libapt-pkg7.0:arm64. 127s (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 ... 116620 files and directories currently installed.) 127s Preparing to unpack .../libapt-pkg7.0_2.9.30_arm64.deb ... 127s Unpacking libapt-pkg7.0:arm64 (2.9.30) ... 127s Setting up libapt-pkg7.0:arm64 (2.9.30) ... 127s (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 ... 116669 files and directories currently installed.) 127s Preparing to unpack .../archives/apt_2.9.30_arm64.deb ... 127s Unpacking apt (2.9.30) over (2.9.29) ... 127s Setting up apt (2.9.30) ... 128s (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 ... 116669 files and directories currently installed.) 128s Preparing to unpack .../0-apt-utils_2.9.30_arm64.deb ... 128s Unpacking apt-utils (2.9.30) over (2.9.29) ... 128s Preparing to unpack .../1-iproute2_6.13.0-1ubuntu1_arm64.deb ... 128s Unpacking iproute2 (6.13.0-1ubuntu1) over (6.10.0-2ubuntu1) ... 128s Preparing to unpack .../2-libp11-kit0_0.25.5-2ubuntu3_arm64.deb ... 128s Unpacking libp11-kit0:arm64 (0.25.5-2ubuntu3) over (0.25.5-2ubuntu2) ... 128s Preparing to unpack .../3-rsyslog_8.2412.0-2ubuntu1_arm64.deb ... 129s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ... 129s Preparing to unpack .../4-lsof_4.99.4+dfsg-1_arm64.deb ... 129s Unpacking lsof (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 129s Preparing to unpack .../5-liblsof0_4.99.4+dfsg-1_arm64.deb ... 129s Unpacking liblsof0 (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 129s Preparing to unpack .../6-libgpgme11t64_1.24.2-1ubuntu1_arm64.deb ... 129s Unpacking libgpgme11t64:arm64 (1.24.2-1ubuntu1) over (1.24.1-4ubuntu1) ... 129s Setting up apt-utils (2.9.30) ... 129s Setting up liblsof0 (4.99.4+dfsg-1) ... 129s Setting up iproute2 (6.13.0-1ubuntu1) ... 129s Setting up rsyslog (8.2412.0-2ubuntu1) ... 129s info: The user `syslog' is already a member of `adm'. 130s Setting up libp11-kit0:arm64 (0.25.5-2ubuntu3) ... 130s Setting up lsof (4.99.4+dfsg-1) ... 130s Setting up libgpgme11t64:arm64 (1.24.2-1ubuntu1) ... 130s Processing triggers for man-db (2.13.0-1) ... 132s Processing triggers for libc-bin (2.40-4ubuntu1) ... 133s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 133s + /usr/lib/apt/apt-helper analyze-pattern ?true 133s + uname -r 133s + sed s/\./\\./g 133s + running_kernel_pattern=^linux-.*6\.12\.0-15-generic.* 133s + apt list ?obsolete 133s + tail -n+2 133s + cut -d/ -f1 133s + grep -v ^linux-.*6\.12\.0-15-generic.* 134s + true 134s + obsolete_pkgs= 134s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove 134s Reading package lists... 134s Building dependency tree... 134s Reading state information... 135s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 135s + grep -q trusty /etc/lsb-release 135s + [ ! -d /usr/share/doc/unattended-upgrades ] 135s + [ ! -d /usr/share/doc/lxd ] 135s + [ ! -d /usr/share/doc/lxd-client ] 135s + [ ! -d /usr/share/doc/snapd ] 135s + type iptables 135s + cat 135s + chmod 755 /etc/rc.local 135s + . /etc/rc.local 135s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 135s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 135s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 135s + uname -m 135s + [ aarch64 = ppc64le ] 135s + [ -d /run/systemd/system ] 135s + systemd-detect-virt --quiet --vm 135s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 135s + cat 135s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 135s + echo COMPRESS=lz4 135s autopkgtest [16:18:22]: upgrading testbed (apt dist-upgrade and autopurge) 135s Reading package lists... 136s Building dependency tree... 136s Reading state information... 136s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 136s Starting 2 pkgProblemResolver with broken count: 0 136s Done 137s Entering ResolveByKeep 137s 138s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 138s Reading package lists... 139s Building dependency tree... 139s Reading state information... 139s Starting pkgProblemResolver with broken count: 0 139s Starting 2 pkgProblemResolver with broken count: 0 139s Done 140s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 140s autopkgtest [16:18:27]: rebooting testbed after setup commands that affected boot 166s autopkgtest [16:18:53]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 4 15:49:33 UTC 2025 170s autopkgtest [16:18:57]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 173s Get:1 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (dsc) [3193 B] 173s Get:2 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (tar) [1176 kB] 173s Get:3 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (diff) [24.3 kB] 173s gpgv: Signature made Mon Feb 10 10:23:38 2025 UTC 173s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 173s gpgv: Can't check signature: No public key 173s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.14.7-1.dsc: no acceptable signature found 174s autopkgtest [16:19:01]: testing package translate-toolkit version 3.14.7-1 174s autopkgtest [16:19:01]: build not needed 175s autopkgtest [16:19:02]: test translate-toolkit: preparing testbed 175s Reading package lists... 175s Building dependency tree... 175s Reading state information... 175s Starting pkgProblemResolver with broken count: 0 176s Starting 2 pkgProblemResolver with broken count: 0 176s Done 176s The following NEW packages will be installed: 176s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 176s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 176s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 176s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 176s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 176s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 176s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 176s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 176s python3-translate python3-tz python3-vobject python3-xapian subversion 176s translate-toolkit 176s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 176s Need to get 11.7 MB of archives. 176s After this operation, 62.4 MB of additional disk space will be used. 176s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 177s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.30.4 [176 kB] 177s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250213-1ubuntu1 [146 kB] 177s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 177s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-3 [586 kB] 177s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 177s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 177s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 177s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 178s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 178s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 178s Get:12 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 178s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 178s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.5-2 [1342 kB] 178s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-2 [686 kB] 178s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 178s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-2 [231 kB] 178s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 178s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.13.3-1 [136 kB] 178s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.4.1-1 [138 kB] 178s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 178s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cwcwidth arm64 0.1.10-1 [24.8 kB] 178s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 178s Get:24 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 178s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 178s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.12.1+ds-1 [1328 kB] 178s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.27.0-1 [129 kB] 178s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.1-1 [1600 kB] 179s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 179s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 179s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 179s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pytz all 2025.1-3 [162 kB] 179s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1 [174 kB] 179s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 179s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.14.7-1 [319 kB] 179s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tz all 2025.1-3 [1866 B] 179s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 179s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build4 [540 kB] 179s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.5-2 [908 kB] 179s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 translate-toolkit all 3.14.7-1 [81.5 kB] 179s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 179s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 179s Preconfiguring packages ... 179s Fetched 11.7 MB in 3s (4610 kB/s) 179s Selecting previously unselected package emacsen-common. 180s (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 ... 116670 files and directories currently installed.) 180s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 180s Unpacking emacsen-common (3.0.5) ... 180s Selecting previously unselected package dictionaries-common. 180s Preparing to unpack .../01-dictionaries-common_1.30.4_all.deb ... 180s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 180s Unpacking dictionaries-common (1.30.4) ... 180s Selecting previously unselected package libgomp1:arm64. 180s Preparing to unpack .../02-libgomp1_15-20250213-1ubuntu1_arm64.deb ... 180s Unpacking libgomp1:arm64 (15-20250213-1ubuntu1) ... 180s Selecting previously unselected package gettext. 180s Preparing to unpack .../03-gettext_0.23.1-1_arm64.deb ... 180s Unpacking gettext (0.23.1-1) ... 180s Selecting previously unselected package hunspell-en-us. 180s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 180s Unpacking hunspell-en-us (1:2020.12.07-3) ... 180s Selecting previously unselected package libapr1t64:arm64. 180s Preparing to unpack .../05-libapr1t64_1.7.5-1_arm64.deb ... 180s Unpacking libapr1t64:arm64 (1.7.5-1) ... 180s Selecting previously unselected package libaprutil1t64:arm64. 180s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 180s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 180s Selecting previously unselected package libaspell15:arm64. 180s Preparing to unpack .../07-libaspell15_0.60.8.1-4_arm64.deb ... 180s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 180s Selecting previously unselected package libhunspell-1.7-0:arm64. 181s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 181s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 181s Selecting previously unselected package libenchant-2-2:arm64. 181s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 181s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 181s Selecting previously unselected package libexttextcat-data. 181s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 181s Unpacking libexttextcat-data (3.4.7-1build1) ... 181s Selecting previously unselected package libserf-1-1:arm64. 181s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 181s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 181s Selecting previously unselected package libutf8proc3:arm64. 181s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 181s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 181s Selecting previously unselected package libsvn1:arm64. 181s Preparing to unpack .../13-libsvn1_1.14.5-2_arm64.deb ... 181s Unpacking libsvn1:arm64 (1.14.5-2) ... 181s Selecting previously unselected package libxapian30:arm64. 181s Preparing to unpack .../14-libxapian30_1.4.25-2_arm64.deb ... 181s Unpacking libxapian30:arm64 (1.4.25-2) ... 181s Selecting previously unselected package libxslt1.1:arm64. 181s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 181s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 181s Selecting previously unselected package python3-aeidon. 181s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 181s Unpacking python3-aeidon (1.15-2) ... 181s Selecting previously unselected package python3-soupsieve. 181s Preparing to unpack .../17-python3-soupsieve_2.6-1_all.deb ... 181s Unpacking python3-soupsieve (2.6-1) ... 181s Selecting previously unselected package python3-bs4. 181s Preparing to unpack .../18-python3-bs4_4.13.3-1_all.deb ... 181s Unpacking python3-bs4 (4.13.3-1) ... 181s Selecting previously unselected package python3-charset-normalizer. 181s Preparing to unpack .../19-python3-charset-normalizer_3.4.1-1_arm64.deb ... 181s Unpacking python3-charset-normalizer (3.4.1-1) ... 181s Selecting previously unselected package python3-cheroot. 181s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-3_all.deb ... 181s Unpacking python3-cheroot (10.0.1+ds1-3) ... 181s Selecting previously unselected package python3-cwcwidth. 181s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1_arm64.deb ... 181s Unpacking python3-cwcwidth (0.1.10-1) ... 181s Selecting previously unselected package python3-dateutil. 181s Preparing to unpack .../22-python3-dateutil_2.9.0-3_all.deb ... 181s Unpacking python3-dateutil (2.9.0-3) ... 181s Selecting previously unselected package python3-diff-match-patch. 181s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 181s Unpacking python3-diff-match-patch (20241021-1) ... 181s Selecting previously unselected package python3-enchant. 182s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 182s Unpacking python3-enchant (3.3.0~rc1-1) ... 182s Selecting previously unselected package python3-rapidfuzz. 182s Preparing to unpack .../25-python3-rapidfuzz_3.12.1+ds-1_arm64.deb ... 182s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 182s Selecting previously unselected package python3-levenshtein. 182s Preparing to unpack .../26-python3-levenshtein_0.27.0-1_arm64.deb ... 182s Unpacking python3-levenshtein (0.27.0-1) ... 182s Selecting previously unselected package python3-lxml:arm64. 182s Preparing to unpack .../27-python3-lxml_5.3.1-1_arm64.deb ... 182s Unpacking python3-lxml:arm64 (5.3.1-1) ... 182s Selecting previously unselected package python3-mistletoe. 182s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 182s Unpacking python3-mistletoe (1.4.0-1) ... 182s Selecting previously unselected package python3-ply. 182s Preparing to unpack .../29-python3-ply_3.11-7_all.deb ... 182s Unpacking python3-ply (3.11-7) ... 182s Selecting previously unselected package python3-phply. 182s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 182s Unpacking python3-phply (1.2.6-1) ... 182s Selecting previously unselected package python3-pytz. 182s Preparing to unpack .../31-python3-pytz_2025.1-3_all.deb ... 182s Unpacking python3-pytz (2025.1-3) ... 182s Selecting previously unselected package python3-ruamel.yaml.clib. 182s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1_arm64.deb ... 182s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 182s Selecting previously unselected package python3-ruamel.yaml. 182s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 182s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 182s Selecting previously unselected package python3-translate. 182s Preparing to unpack .../34-python3-translate_3.14.7-1_all.deb ... 182s Unpacking python3-translate (3.14.7-1) ... 182s Selecting previously unselected package python3-tz. 182s Preparing to unpack .../35-python3-tz_2025.1-3_all.deb ... 182s Unpacking python3-tz (2025.1-3) ... 182s Selecting previously unselected package python3-vobject. 182s Preparing to unpack .../36-python3-vobject_0.9.8+dfsg-2_all.deb ... 182s Unpacking python3-vobject (0.9.8+dfsg-2) ... 182s Selecting previously unselected package python3-xapian. 182s Preparing to unpack .../37-python3-xapian_1.4.25-1build4_arm64.deb ... 182s Unpacking python3-xapian (1.4.25-1build4) ... 182s Selecting previously unselected package subversion. 182s Preparing to unpack .../38-subversion_1.14.5-2_arm64.deb ... 182s Unpacking subversion (1.14.5-2) ... 183s Selecting previously unselected package translate-toolkit. 183s Preparing to unpack .../39-translate-toolkit_3.14.7-1_all.deb ... 183s Unpacking translate-toolkit (3.14.7-1) ... 183s Selecting previously unselected package python3-iniparse. 183s Preparing to unpack .../40-python3-iniparse_0.5.1-1_all.deb ... 183s Unpacking python3-iniparse (0.5.1-1) ... 183s Selecting previously unselected package python3-pycountry. 183s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 183s Unpacking python3-pycountry (24.6.1+ds1-1) ... 183s Setting up libxapian30:arm64 (1.4.25-2) ... 183s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 183s Setting up python3-diff-match-patch (20241021-1) ... 183s Setting up python3-aeidon (1.15-2) ... 183s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 183s Setting up libaspell15:arm64 (0.60.8.1-4) ... 183s Setting up python3-charset-normalizer (3.4.1-1) ... 183s Setting up python3-ply (3.11-7) ... 184s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 184s Setting up python3-pytz (2025.1-3) ... 184s Setting up libgomp1:arm64 (15-20250213-1ubuntu1) ... 184s Setting up python3-tz (2025.1-3) ... 184s Setting up emacsen-common (3.0.5) ... 184s Setting up python3-cheroot (10.0.1+ds1-3) ... 184s Setting up python3-pycountry (24.6.1+ds1-1) ... 184s Setting up python3-xapian (1.4.25-1build4) ... 184s Setting up python3-cwcwidth (0.1.10-1) ... 184s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 185s Setting up python3-mistletoe (1.4.0-1) ... 185s Setting up libexttextcat-data (3.4.7-1build1) ... 185s Setting up libapr1t64:arm64 (1.7.5-1) ... 185s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 185s Setting up python3-dateutil (2.9.0-3) ... 185s Setting up python3-levenshtein (0.27.0-1) ... 185s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 185s Setting up python3-soupsieve (2.6-1) ... 185s Setting up python3-iniparse (0.5.1-1) ... 185s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 185s Setting up python3-vobject (0.9.8+dfsg-2) ... 186s Setting up gettext (0.23.1-1) ... 186s Setting up python3-phply (1.2.6-1) ... 186s Setting up dictionaries-common (1.30.4) ... 186s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 186s Setting up python3-bs4 (4.13.3-1) ... 186s Setting up python3-lxml:arm64 (5.3.1-1) ... 187s Setting up hunspell-en-us (1:2020.12.07-3) ... 187s Setting up libsvn1:arm64 (1.14.5-2) ... 187s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 187s Setting up subversion (1.14.5-2) ... 187s Setting up python3-enchant (3.3.0~rc1-1) ... 187s Setting up python3-translate (3.14.7-1) ... 187s Setting up translate-toolkit (3.14.7-1) ... 187s Processing triggers for libc-bin (2.40-4ubuntu1) ... 187s Processing triggers for man-db (2.13.0-1) ... 189s Processing triggers for install-info (7.1.1-1) ... 189s Processing triggers for dictionaries-common (1.30.4) ... 191s autopkgtest [16:19:18]: test translate-toolkit: [----------------------- 191s ========= SMOKE TEST: /usr/bin/android2po =========== 191s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 191s 191s Convert Android string files to Gettext PO localization files. See: 191s http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/android2po.html for examples and usage 191s instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in xml format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -t TEMPLATE, --template=TEMPLATE 191s read from TEMPLATE in xml format 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 191s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 191s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 191s input files [input files ...] 191s 191s positional arguments: 191s input files 191s 191s options: 191s -h, --help show this help message and exit 191s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 191s -s, --import-source-lang SOURCE_LANG 191s source language of translation files (default: en) 191s -t, --import-target-lang TARGET_LANG 191s target language of translation files 191s ========= SMOKE TEST: /usr/bin/csv2po =========== 191s 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] 191s 191s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 191s See: http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in csv format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -t TEMPLATE, --template=TEMPLATE 191s read from TEMPLATE in po, pot, pot formats 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -P, --pot output PO Templates (.pot) rather than PO files (.po) 191s --charset=CHARSET set charset to decode from csv files 191s --columnorder=COLUMNORDER 191s specify the order and position of columns 191s (location,source,target,context) 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 191s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 191s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 191s 191s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 191s glossary file. See: http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in csv format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in tbx format 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s --charset=CHARSET set charset to decode from csv files 191s --columnorder=COLUMNORDER 191s specify the order and position of columns 191s (comment,source,target) 191s ========= SMOKE TEST: /usr/bin/dtd2po =========== 192s 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] 192s 192s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 192s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 192s this module You can convert back to .dtd using po2dtd.py. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in dtd format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -t TEMPLATE, --template=TEMPLATE 192s read from TEMPLATE in dtd format 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 192s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 192s 192s Convert flat XML files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/flatxml2po.html for examples and usage 192s instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in xml format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -r ROOT, --root=ROOT name of the XML root element (default: "root") 192s -v VALUE, --value=VALUE 192s name of the XML value element (default: "str") 192s -k KEY, --key=KEY name of the XML key attribute (default: "key") 192s -n NS, --namespace=NS 192s XML namespace uri (default: None) 192s ========= SMOKE TEST: /usr/bin/html2po =========== 192s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 192s 192s Convert HTML files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in htm, html, xhtml formats 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --keepcomments preserve html comments as translation notes in the 192s output 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s --multifile=MULTIFILESTYLE 192s how to split po/pot files (single, toplevel or 192s onefile) 192s ========= SMOKE TEST: /usr/bin/ical2po =========== 192s 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] 192s 192s Convert iCalendar files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in ics format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -t TEMPLATE, --template=TEMPLATE 192s read from TEMPLATE in ics format 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/idml2po =========== 193s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 193s 193s Convert IDML files to PO localization files. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in idml format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s ========= SMOKE TEST: /usr/bin/ini2po =========== 193s 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] 193s 193s Convert .ini files to Gettext PO localization files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in ini, isl, iss formats 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in ini, isl, iss formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/json2po =========== 193s 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] 193s 193s Convert JSON files to Gettext PO localization files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in json format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in json format 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 193s everything) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/md2po =========== 193s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 193s 193s Convert Markdown files to Gettext PO localization files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in markdown, md, text, txt formats 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s --multifile=MULTIFILESTYLE 193s how to split po/pot files (single, toplevel or 193s onefile) 194s ========= SMOKE TEST: /usr/bin/moz2po =========== 194s 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] 194s 194s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 194s See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in *, dtd, inc, ini, it, js, lang, 194s manifest, properties, rdf formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 194s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 194s lang.pot, manifest, properties.po, properties.pot, rdf 194s formats 194s -t TEMPLATE, --template=TEMPLATE 194s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 194s manifest, properties, rdf formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 194s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 194s 194s Convert Mozilla .lang files to Gettext PO localization files. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in lang format 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --encoding=ENCODING The encoding of the input file (default: UTF-8) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s ========= SMOKE TEST: /usr/bin/msghack =========== 194s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 194s This program can be used to alter .po files in ways no sane mind would think about. 194s -o result will be written to FILE 194s --invert invert a po file by switching msgid and msgstr 194s --master join any number of files in a master-formatted catalog 194s --empty empty the contents of the .po file, creating a .pot 194s --append append entries from ref.po that don't exist in file.po 194s 194s Note: It is just a replacement of msghack for backward support. 194s 194s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 194s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert OpenDocument (ODF) files to XLIFF localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 194s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 194s formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in xlf, xliff formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s ========= SMOKE TEST: /usr/bin/oo2po =========== 194s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 194s 194s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 194s files. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in oo, sdf formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s -l LANG, --language=LANG 194s set target language to extract from oo file (e.g. af- 194s ZA) 194s --source-language=LANG 194s set source language code (default en-US) 194s --nonrecursiveinput don't treat the input oo as a recursive store 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 194s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 194s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 194s files. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in oo, sdf formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in xlf, xliff formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -l LANG, --language=LANG 194s set target language to extract from oo file (e.g. af- 194s ZA) 194s --source-language=LANG 194s set source language code (default en-US) 194s --nonrecursiveinput don't treat the input oo as a recursive store 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 195s ========= SMOKE TEST: /usr/bin/php2po =========== 195s 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] 195s 195s Convert PHP localization files to Gettext PO localization files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in html, php formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in html, php formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 195s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 195s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 195s 195s Convert PHP format .po files to Python format .po files. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s ========= SMOKE TEST: /usr/bin/po2csv =========== 195s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 195s 195s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 195s See: http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in csv format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s --columnorder=COLUMNORDER 195s specify the order and position of columns 195s (location,source,target,context) 195s ========= SMOKE TEST: /usr/bin/po2dtd =========== 195s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 195s 195s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 195s Conversion is either done using a template plus PO file or just using the 195s .po file. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in dtd format 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in dtd format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s --threshold=PERCENT only convert files where the translation completion is 195s above PERCENT 195s --fuzzy use translations marked fuzzy 195s --nofuzzy don't use translations marked fuzzy (default) 195s --removeuntranslated remove untranslated strings from output 195s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 195s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 195s 195s Convert Gettext PO localization files to flat XML files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/flatxml2po.html for examples and usage 195s instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in xml format 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in xml format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -r ROOT, --root=ROOT name of the XML root element (default: "root") 195s -v VALUE, --value=VALUE 195s name of the XML value element (default: "str") 195s -k KEY, --key=KEY name of the XML key attribute (default: "key") 195s -n NS, --namespace=NS 195s XML namespace uri (default: None) 195s -w INDENT, --indent=INDENT 195s indent width in spaces, 0 for no indent (default: 2) 196s ========= SMOKE TEST: /usr/bin/po2html =========== 196s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Translate HTML files using Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in htm, html, xhtml formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in htm, html, xhtml formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2ical =========== 196s Usage: po2ical [--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 Gettext PO localization files to iCalendar files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in ics format 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in ics format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2idml =========== 196s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Takes an IDML template file and a PO file containing translations of strings 196s in the IDML template. It creates a new IDML file using the translations of the 196s PO file. 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 po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in idml format 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in idml format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s ========= SMOKE TEST: /usr/bin/po2ini =========== 196s Usage: po2ini [--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 Gettext PO localization files to .ini files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in ini, isl formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in ini, isl formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2json =========== 197s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 197s 197s Convert Gettext PO localization files to JSON files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/json2po.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 po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in json format 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in json format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s --threshold=PERCENT only convert files where the translation completion is 197s above PERCENT 197s --fuzzy use translations marked fuzzy 197s --nofuzzy don't use translations marked fuzzy (default) 197s --removeuntranslated remove untranslated strings from output 197s ========= SMOKE TEST: /usr/bin/po2md =========== 197s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 197s 197s Translate Markdown files using Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/md2po.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 po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in markdown, md, text, txt formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in markdown, md, text, txt formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -m MAXLENGTH, --maxlinelength=MAXLENGTH 197s reflow (word wrap) the output to the given maximum 197s line length. set to 0 to disable 197s --threshold=PERCENT only convert files where the translation completion is 197s above PERCENT 197s --fuzzy use translations marked fuzzy 197s --nofuzzy don't use translations marked fuzzy (default) 197s ========= SMOKE TEST: /usr/bin/po2moz =========== 197s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 197s 197s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 197s See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/moz2po.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 *, dtd.po, dtd.pot, inc.po, 197s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 197s lang.pot, manifest, properties.po, properties.pot, rdf 197s formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 197s manifest, properties, rdf formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 197s manifest, properties, rdf formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -l LOCALE, --locale=LOCALE 197s set output locale (required as this sets the directory 197s names) 197s --threshold=PERCENT only convert files where the translation completion is 197s above PERCENT 197s --fuzzy use translations marked fuzzy 197s --nofuzzy don't use translations marked fuzzy (default) 197s --removeuntranslated remove untranslated strings from output 197s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 197s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 197s 197s Convert Gettext PO localization files to Mozilla .lang files. 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 po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in lang format 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in lang format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s --mark-active mark the file as active 197s --threshold=PERCENT only convert files where the translation completion is 197s above PERCENT 197s --fuzzy use translations marked fuzzy 197s --nofuzzy don't use translations marked fuzzy (default) 198s ========= SMOKE TEST: /usr/bin/po2oo =========== 198s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 198s file. See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/oo2po.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 po, pot, xlf, xliff formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in oo, sdf formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in oo, sdf formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -l LANG, --language=LANG 198s set target language code (e.g. af-ZA) [required] 198s --source-language=LANG 198s set source language code (default en-US) 198s -T, --keeptimestamp don't change the timestamps of the strings 198s --nonrecursiveoutput don't treat the output oo as a recursive store 198s --nonrecursivetemplate 198s don't treat the template oo as a recursive store 198s --skipsource don't output the source language, but fallback to it 198s where needed 198s --filteraction=ACTION 198s action on pofilter failure: none (default), warn, 198s exclude-serious, exclude-all 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --multifile=MULTIFILESTYLE 198s how to split po/pot files (single, toplevel or 198s onefile) 198s ========= SMOKE TEST: /usr/bin/po2php =========== 198s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to PHP localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/php2po.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 po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in html, php formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in html, php formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s ========= SMOKE TEST: /usr/bin/po2prop =========== 198s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to Java/Mozilla .properties files. 198s See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/prop2po.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 po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in lang, properties, strings formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in lang, properties, strings 198s formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --personality=TYPE override the input file format: java, java-utf8, java- 198s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 198s strings, strings-utf8, joomla (for .properties files, 198s default: java) 198s --encoding=ENCODING override the encoding set by the personality 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --removeuntranslated remove untranslated strings from output 198s ========= SMOKE TEST: /usr/bin/po2rc =========== 198s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files back to Windows Resource (.rc) files. 198s See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/rc2po.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 po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in rc format 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in rc format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --charset=CHARSET charset to use to decode the template RC files 198s (default: utf-8) 198s --charset-output=CHARSET 198s charset to use to encode the RC file (default: auto) 198s -l LANG, --lang=LANG LANG entry 198s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2resx =========== 199s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/resx2po.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 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 resx format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in resx format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2sub =========== 199s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to subtitle files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/sub2po.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 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 ass, srt, ssa, sub formats 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in ass, srt, ssa, sub formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2symb =========== 199s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to Symbian translation files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/symb2po.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 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 r0 format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --duplicates=DUPLICATESTYLE 199s what to do with duplicate strings (identical source 199s text): merge, msgctxt (default: 'msgctxt') 199s ========= SMOKE TEST: /usr/bin/po2tiki =========== 199s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 199s 199s Convert Gettext PO files to TikiWiki's language.php files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/tiki2po.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 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 tiki format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s ========= SMOKE TEST: /usr/bin/po2tmx =========== 199s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 199s 199s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 199s file. See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/po2tmx.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 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 tmx format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -l LANG, --language=LANG 199s set target language code (e.g. af-ZA) [required] 199s --source-language=LANG 199s set source language code (default: en) 199s --comments=COMMENT set default comment import: none, source, type or 199s others (default: none) 200s ========= SMOKE TEST: /usr/bin/po2ts =========== 200s Usage: po2ts [--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 Qt Linguist (.ts) files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/ts2po.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 ts format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ts format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -c CONTEXT, --context=CONTEXT 200s use supplied context instead of the one in the .po 200s file comment 200s ========= SMOKE TEST: /usr/bin/po2txt =========== 200s Usage: po2txt [--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 plain text (.txt) files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/txt2po.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, xlf, xliff formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in txt format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in txt format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --encoding=ENCODING The encoding of the template file (default: UTF-8) 200s -w WRAP, --wrap=WRAP set number of columns to wrap text at 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/po2web2py =========== 200s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 200s 200s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/web2py2po.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 py 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/po2wordfast =========== 200s Usage: po2wordfast [--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 a Wordfast translation memory file. 200s See: http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/po2wordfast.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 txt format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -l LANG, --language=LANG 200s set target language code (e.g. af-ZA) [required] 200s --source-language=LANG 200s set source language code (default: en) 200s ========= SMOKE TEST: /usr/bin/po2xliff =========== 200s Usage: po2xliff [--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 XLIFF localization files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/xliff2po.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 xlf, xliff formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in xlf, xliff formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s ========= SMOKE TEST: /usr/bin/po2yaml =========== 201s Usage: po2yaml [--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 YAML files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/yaml2po.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 yaml, yml formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in yaml, yml formats 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 ========= SMOKE TEST: /usr/bin/poclean =========== 201s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 201s 201s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 201s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 201s produces the target file with only the target text in from a text version of 201s the RTF. 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, xlf, xliff formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in po, pot, xlf, xliff formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s ========= SMOKE TEST: /usr/bin/pocompendium =========== 201s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 201s The first parameter is the output file, standard output if the output file is '-'. 201s Any number of directories may be specified for input files. 201s Options: 201s --invert|v Creates an inverse compendium with msgid and msgstr swapped 201s --errors|e Only ouput msg bundles that have errors 201s --correct|c Only ouput msg bundles that are correctly translated 201s --ignore-case|i Drops all strings to lowercase 201s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 201s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 201s --strip-accel-under|-su Strip all underscore (_) accelerator characters 201s ========= SMOKE TEST: /usr/bin/pocompile =========== 201s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 201s 201s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 201s Object) files. See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/pocompile.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, xlf, xliff formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in mo format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/poconflicts =========== 201s 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] 201s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 201s 201s Conflict finder for Gettext PO localization files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/poconflicts.html for examples and usage 201s 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 format 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in po format 201s -I, --ignore-case ignore case distinctions 201s -v, --invert invert the conflicts thus extracting conflicting 201s destination words 201s --accelerator=ACCELERATORS 201s ignores the given accelerator characters when matching 201s ========= SMOKE TEST: /usr/bin/pocount =========== 201s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 201s --short-strings | --short-words] [--no-color] 201s files [files ...] 201s 201s positional arguments: 201s files 201s 201s options: 201s -h, --help show this help message and exit 201s --incomplete skip 100% translated files. 201s 201s Output format: 201s --full (default) statistics in full, verbose format 201s --csv statistics in CSV format 201s --short same as --short-strings 201s --short-strings statistics of strings in short format - one line per file 201s --short-words statistics of words in short format - one line per file 201s --no-color show output without color 201s ========= SMOKE TEST: /usr/bin/podebug =========== 201s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 201s 201s Insert debug messages into XLIFF and Gettext PO localization files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/podebug.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, pot, tmx, xlf, xliff 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 po, pot, tmx, xlf, xliff formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -f FORMAT, --format=FORMAT 201s specify format string 201s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 201s classified, en, flipped, unicode, xxx 201s --ignore=APPLICATION apply tagging ignore rules for the given application: 201s gtk, kde, libreoffice, mozilla, openoffice 201s --preserveplaceholders 201s attempt to exclude characters that are part of 201s placeholders when performing character-level rewrites 201s so that consuming applications can still use the 201s placeholders to generate final output 202s ========= SMOKE TEST: /usr/bin/pofilter =========== 202s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 202s 202s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 202s Snippet files are created whenever a test fails. These can be examined, 202s corrected and merged back into the originals using pomerge. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 202s and http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 202s tests. 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, tmx, 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 po, pot, tmx, xlf, xliff formats 202s -l, --listfilters list filters available 202s --review include units marked for review (default) 202s --noreview exclude units marked for review 202s --fuzzy include units marked fuzzy (default) 202s --nofuzzy exclude units marked fuzzy 202s --nonotes don't add notes about the errors 202s --autocorrect output automatic corrections where possible rather 202s than describing issues 202s --language=LANG set target language code (e.g. af-ZA) [required for 202s spell check and recommended in general] 202s --openoffice use the standard checks for OpenOffice translations 202s --libreoffice use the standard checks for LibreOffice translations 202s --mozilla use the standard checks for Mozilla translations 202s --drupal use the standard checks for Drupal translations 202s --gnome use the standard checks for Gnome translations 202s --kde use the standard checks for KDE translations 202s --wx use the standard checks for wxWidgets translations 202s --excludefilter=FILTER 202s don't use FILTER when filtering 202s -t FILTER, --test=FILTER 202s only use test FILTERs specified with this option when 202s filtering 202s --notranslatefile=FILE 202s read list of untranslatable words from FILE (must not 202s be translated) 202s --musttranslatefile=FILE 202s read list of translatable words from FILE (must be 202s translated) 202s --validcharsfile=FILE 202s read list of all valid characters from FILE (must be 202s in UTF-8) 202s ========= SMOKE TEST: /usr/bin/pogrep =========== 202s 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] 202s 202s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 202s snippet files of the same type which can then be reviewed and later merged 202s using :doc:`pomerge `. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pogrep.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 gmo, mo, po, pot, tmx, xlf, xlff, 202s 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 gmo, mo, po, pot, tmx, xlf, xlff, 202s xliff formats 202s --search=SEARCHPARTS searches the given parts (source, target, notes and 202s locations) 202s -I, --ignore-case ignore case distinctions 202s -e, --regexp use regular expression matching 202s -v, --invert-match select non-matching lines 202s --accelerator=ACCELERATOR 202s ignores the given accelerator when matching 202s -k, --keep-translations 202s always extract units with translations 202s ========= SMOKE TEST: /usr/bin/pomerge =========== 202s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Merges XLIFF and Gettext PO localization files. Snippet file produced by 202s e.g. :doc:`pogrep ` and updated by a translator can be 202s merged back into the original files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pomerge.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, 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 po, pot, pot, xlf, xliff formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in po, pot, pot, xlf, xliff formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --mergeblanks=MERGEBLANKS 202s whether to overwrite existing translations with blank 202s translations (yes/no). Default is yes. 202s --mergefuzzy=MERGEFUZZY 202s whether to consider fuzzy translations from input 202s (yes/no). Default is yes. 202s --mergecomments=MERGECOMMENTS 202s whether to merge comments as well as translations 202s (yes/no). Default is yes. 202s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 202s Usage pomigrate2 [options] 202s 202s Options: 202s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 202s -C|--use-compendium - create and use a compendium built from the migrating files 202s -C|--use-compendium=some-compendium.po 202s - use an external compendium during the migration 202s --no-wrap - do not wrap long lines 202s --locale=lang - set locale for newly born files 202s -q|--quiet - suppress most output 202s -p|--pot2po - use pot2po instead of msgmerge to migrate 202s ========= SMOKE TEST: /usr/bin/popuretext =========== 202s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 202s ========= SMOKE TEST: /usr/bin/poreencode =========== 202s Usage: poreencode 202s eg: poreencode UTF-8 af/ 202s ========= SMOKE TEST: /usr/bin/porestructure =========== 202s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 202s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 202s 202s Restructure Gettxt PO files produced by :doc:`poconflicts 202s ` into the original directory tree for merging using 202s :doc:`pomerge `. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pomerge.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 format 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in po format 202s ========= SMOKE TEST: /usr/bin/posegment =========== 202s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 202s 202s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 202s See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/posegment.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, tmx, 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 po, pot, tmx, xlf, xliff formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s -P, --pot output PO Templates (.pot) rather than PO files (.po) 202s -l LANG, --language=LANG 202s the target language code 202s --source-language=LANG 202s the source language code (default 'en') 202s --keepspaces Disable automatic stripping of whitespace 202s --only-aligned Removes units where sentence number does not 202s correspond 202s ========= SMOKE TEST: /usr/bin/poswap =========== 203s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Builds a new translation file with the target of the input language as source 203s language. .. note:: Ensure that the two po files correspond 100% to the same 203s pot file before using this. To translate Kurdish (ku) through French:: 203s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 203s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/poswap.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 po, pot formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in po, pot, pot formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --reverse reverse the process of intermediate language 203s conversion 203s ========= SMOKE TEST: /usr/bin/pot2po =========== 203s 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] 203s 203s Convert template files (like .pot or template .xlf files) to translation 203s files, preserving existing translations. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pot2po.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 catkeys, lang, pot, ts, xlf, xliff 203s formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 203s xliff formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 203s xliff formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -P, --pot output PO Templates (.pot) rather than PO files (.po) 203s --tm=TM The file to use as translation memory when fuzzy 203s matching 203s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 203s The minimum similarity for inclusion (default: 75%) 203s --nofuzzymatching Disable fuzzy matching 203s ========= SMOKE TEST: /usr/bin/poterminology =========== 203s 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] 203s input directory is searched for PO files, terminology PO file is output file 203s 203s Create a terminology file by reading a set of .po or .pot files to produce a 203s pootle-terminology.pot. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/poterminology.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 po, pot formats 203s -u UPDATEFILE, --update=UPDATEFILE 203s update terminology in UPDATEFILE 203s -S STOPFILE, --stopword-list=STOPFILE 203s read stopword (term exclusion) list from STOPFILE 203s (default /usr/share/pyshared/translate/share/stoplist- 203s en) 203s -F, --fold-titlecase fold "Title Case" to lowercase (default) 203s -C, --preserve-case preserve all uppercase/lowercase 203s -I, --ignore-case make all terms lowercase 203s --accelerator=ACCELERATORS 203s ignore the given accelerator characters when matching 203s -t LENGTH, --term-words=LENGTH 203s generate terms of up to LENGTH words (default 3) 203s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 203s 1) 203s --inputs-needed=MIN omit terms appearing in less than MIN input files 203s (default 2, or 1 if only one input file) 203s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 203s different messages (default 1) 203s --substr-needed=MIN omit substring-only terms appearing in less than MIN 203s different messages (default 2) 203s --locs-needed=MIN omit terms appearing in less than MIN different 203s original source files (default 2) 203s --sort=ORDER output sort order(s): frequency, dictionary, length 203s (may repeat option, default is all in above order) 203s --source-language=LANG 203s the source language code (default 'en') 203s -v, --invert invert the source and target languages for terminology 203s ========= SMOKE TEST: /usr/bin/pretranslate =========== 203s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Fill localization files with suggested translations based on translation 203s memory and existing translations. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pretranslate.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, 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 po, pot, xlf, xliff formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in po, pot, xlf, xliff formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --tm=TM The file to use as translation memory when fuzzy 203s matching 203s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 203s The minimum similarity for inclusion (default: 75%) 203s --nofuzzymatching Disable fuzzy matching 203s ========= SMOKE TEST: /usr/bin/prop2po =========== 204s 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] 204s 204s Convert Java/Mozilla .properties files to Gettext PO localization files. 204s See: http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in lang, properties, strings formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in lang, properties, strings 204s formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --personality=TYPE override the input file format: java, java-utf8, java- 204s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 204s strings, strings-utf8, joomla (for .properties files, 204s default: java) 204s --encoding=ENCODING override the encoding set by the personality 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/pydiff =========== 204s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 204s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 204s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 204s fromfile tofile 204s 204s positional arguments: 204s fromfile 204s tofile 204s 204s options: 204s -h, --help show this help message and exit 204s -i, --ignore-case Ignore case differences in file contents. 204s -U, --unified NUM Output NUM (default 3) lines of unified context 204s -r, --recursive Recursively compare any subdirectories found. 204s -N, --new-file Treat absent files as empty. 204s --unidirectional-new-file 204s Treat absent first files as empty. 204s -s, --report-identical-files 204s Report when two files are the same. 204s -x, --exclude PAT Exclude files that match PAT. 204s --fromcontains TEXT Only show changes where fromfile contains TEXT 204s --tocontains TEXT Only show changes where tofile contains TEXT 204s --contains TEXT Only show changes where fromfile or tofile contains 204s TEXT 204s -I, --ignore-case-contains 204s Ignore case differences when matching any of the 204s changes 204s --accelerator ACCELERATORS 204s ignores the given accelerator characters when matching 204s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 204s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Convert Python format .po files to PHP format .po files. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s ========= SMOKE TEST: /usr/bin/rc2po =========== 204s 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] 204s 204s Convert Windows RC files to Gettext PO localization files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in nls, rc formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in nls, rc formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --charset=CHARSET charset to use to decode the RC files (autodetection 204s is used by default) 204s -l LANG, --lang=LANG LANG entry (default: None) 204s --sublang=SUBLANG SUBLANG entry (default: None) 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/resx2po =========== 204s 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] 204s 204s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in resx format 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in resx format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 204s everything) 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/sub2po =========== 205s 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] 205s 205s Convert subtitle files to Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/sub2po.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 ass, srt, ssa, sub 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 ass, srt, ssa, sub 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 --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/symb2po =========== 205s 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] 205s 205s Convert Symbian localisation files to Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/symb2po.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 r01 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, pot formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in 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 --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/tbx2po =========== 205s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/tbx2po.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 tbx 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, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s ========= SMOKE TEST: /usr/bin/tiki2po =========== 205s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert TikiWiki's language.php files to Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/tiki2po.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 php 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, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --include-unused Include strings in the unused section 205s ========= SMOKE TEST: /usr/bin/tmserver =========== 205s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 205s [-s SOURCE_LANG] [-b BIND] [-p PORT] 205s [--max-candidates MAX_CANDIDATES] 205s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 205s [--debug] 205s 205s options: 205s -h, --help show this help message and exit 205s -d, --tmdb TMDBFILE translation memory database file 205s -f, --import-translation-file TMFILES 205s translation file to import into the database 205s -t, --import-target-lang TARGET_LANG 205s target language of translation files 205s -s, --import-source-lang SOURCE_LANG 205s source language of translation files 205s -b, --bind BIND address to bind server to (default: localhost) 205s -p, --port PORT port to listen on (default: 8888) 205s --max-candidates MAX_CANDIDATES 205s Maximum number of candidates 205s --min-similarity MIN_SIMILARITY 205s minimum similarity 205s --max-length MAX_LENGTH 205s Maxmimum string length 205s --debug enable debugging features 206s ========= SMOKE TEST: /usr/bin/ts2po =========== 206s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 206s 206s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/ts2po.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 ts 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 -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/txt2po =========== 206s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 206s 206s Convert plain text (.txt) files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/txt2po.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 *, txt 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 -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --encoding=ENCODING The encoding of the input file (default: UTF-8) 206s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 206s mediawiki 206s --no-segmentation Don't segment the file, treat it like a single message 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/web2py2po =========== 206s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 206s 206s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/web2py2po.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 py 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 -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/xliff2odf =========== 206s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Convert XLIFF translation files to OpenDocument (ODF) files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/odf2xliff.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 xlf format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 206s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 206s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 206s formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 206s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 206s file. See: http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/oo2po.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 po, pot, xlf, xliff formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in oo, sdf formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in oo, sdf formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -l LANG, --language=LANG 206s set target language code (e.g. af-ZA) [required] 206s --source-language=LANG 206s set source language code (default en-US) 206s -T, --keeptimestamp don't change the timestamps of the strings 206s --nonrecursiveoutput don't treat the output oo as a recursive store 206s --nonrecursivetemplate 206s don't treat the template oo as a recursive store 206s --skipsource don't output the source language, but fallback to it 206s where needed 206s --filteraction=ACTION 206s action on pofilter failure: none (default), warn, 206s exclude-serious, exclude-all 206s --fuzzy use translations marked fuzzy 206s --nofuzzy don't use translations marked fuzzy (default) 206s --multifile=MULTIFILESTYLE 206s how to split po/pot files (single, toplevel or 206s 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') 207s autopkgtest [16:19:34]: test translate-toolkit: -----------------------] 208s autopkgtest [16:19:35]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 208s translate-toolkit PASS 208s autopkgtest [16:19:35]: test python3-translate: preparing testbed 426s autopkgtest [16:23:13]: testbed dpkg architecture: arm64 426s autopkgtest [16:23:13]: testbed apt version: 2.9.29 426s autopkgtest [16:23:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 426s autopkgtest [16:23:13]: testbed release detected to be: plucky 427s autopkgtest [16:23:14]: updating testbed package index (apt update) 428s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 428s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 428s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 428s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 428s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [744 kB] 428s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.1 kB] 428s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [13.9 kB] 428s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 428s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [103 kB] 428s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [7960 B] 428s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [692 kB] 428s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [11.2 kB] 428s Fetched 1762 kB in 1s (1917 kB/s) 429s Reading package lists... 430s + lsb_release --codename --short 430s + RELEASE=plucky 430s + cat 430s + [ plucky != trusty ] 430s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 430s Reading package lists... 430s Building dependency tree... 430s Reading state information... 431s Calculating upgrade... 431s The following NEW packages will be installed: 431s libapt-pkg7.0 431s The following packages will be upgraded: 431s apt apt-utils iproute2 libgpgme11t64 liblsof0 libp11-kit0 lsof rsyslog 431s sysvinit-utils 431s 9 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 431s Need to get 5019 kB of archives. 431s After this operation, 3410 kB of additional disk space will be used. 431s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 sysvinit-utils arm64 3.14-1ubuntu1 [35.2 kB] 431s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libapt-pkg7.0 arm64 2.9.30 [1023 kB] 432s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 apt arm64 2.9.30 [1364 kB] 432s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 apt-utils arm64 2.9.30 [207 kB] 432s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 iproute2 arm64 6.13.0-1ubuntu1 [1158 kB] 432s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libp11-kit0 arm64 0.25.5-2ubuntu3 [280 kB] 432s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 rsyslog arm64 8.2412.0-2ubuntu1 [521 kB] 432s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 lsof arm64 4.99.4+dfsg-1 [236 kB] 432s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsof0 arm64 4.99.4+dfsg-1 [53.9 kB] 432s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.2-1ubuntu1 [142 kB] 432s Preconfiguring packages ... 432s Fetched 5019 kB in 1s (7141 kB/s) 433s (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 ... 116620 files and directories currently installed.) 433s Preparing to unpack .../sysvinit-utils_3.14-1ubuntu1_arm64.deb ... 433s Unpacking sysvinit-utils (3.14-1ubuntu1) over (3.08-6ubuntu3) ... 433s Setting up sysvinit-utils (3.14-1ubuntu1) ... 433s Selecting previously unselected package libapt-pkg7.0:arm64. 433s (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 ... 116620 files and directories currently installed.) 433s Preparing to unpack .../libapt-pkg7.0_2.9.30_arm64.deb ... 433s Unpacking libapt-pkg7.0:arm64 (2.9.30) ... 433s Setting up libapt-pkg7.0:arm64 (2.9.30) ... 433s (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 ... 116669 files and directories currently installed.) 433s Preparing to unpack .../archives/apt_2.9.30_arm64.deb ... 433s Unpacking apt (2.9.30) over (2.9.29) ... 433s Setting up apt (2.9.30) ... 434s (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 ... 116669 files and directories currently installed.) 434s Preparing to unpack .../0-apt-utils_2.9.30_arm64.deb ... 434s Unpacking apt-utils (2.9.30) over (2.9.29) ... 434s Preparing to unpack .../1-iproute2_6.13.0-1ubuntu1_arm64.deb ... 434s Unpacking iproute2 (6.13.0-1ubuntu1) over (6.10.0-2ubuntu1) ... 434s Preparing to unpack .../2-libp11-kit0_0.25.5-2ubuntu3_arm64.deb ... 434s Unpacking libp11-kit0:arm64 (0.25.5-2ubuntu3) over (0.25.5-2ubuntu2) ... 434s Preparing to unpack .../3-rsyslog_8.2412.0-2ubuntu1_arm64.deb ... 434s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ... 434s Preparing to unpack .../4-lsof_4.99.4+dfsg-1_arm64.deb ... 434s Unpacking lsof (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 434s Preparing to unpack .../5-liblsof0_4.99.4+dfsg-1_arm64.deb ... 434s Unpacking liblsof0 (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 434s Preparing to unpack .../6-libgpgme11t64_1.24.2-1ubuntu1_arm64.deb ... 434s Unpacking libgpgme11t64:arm64 (1.24.2-1ubuntu1) over (1.24.1-4ubuntu1) ... 434s Setting up apt-utils (2.9.30) ... 434s Setting up liblsof0 (4.99.4+dfsg-1) ... 434s Setting up iproute2 (6.13.0-1ubuntu1) ... 435s Setting up rsyslog (8.2412.0-2ubuntu1) ... 435s info: The user `syslog' is already a member of `adm'. 436s Setting up libp11-kit0:arm64 (0.25.5-2ubuntu3) ... 436s Setting up lsof (4.99.4+dfsg-1) ... 436s Setting up libgpgme11t64:arm64 (1.24.2-1ubuntu1) ... 436s Processing triggers for man-db (2.13.0-1) ... 438s Processing triggers for libc-bin (2.40-4ubuntu1) ... 438s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 438s + /usr/lib/apt/apt-helper analyze-pattern ?true 438s + uname -r 438s + sed s/\./\\./g 438s + running_kernel_pattern=^linux-.*6\.12\.0-15-generic.* 438s + apt list ?obsolete 438s + tail -n+2 438s + cut -d/ -f1 438s + grep -v ^linux-.*6\.12\.0-15-generic.* 439s + true 439s + obsolete_pkgs= 439s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove 439s Reading package lists... 439s Building dependency tree... 439s Reading state information... 440s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 440s + grep -q trusty /etc/lsb-release 440s + [ ! -d /usr/share/doc/unattended-upgrades ] 440s + [ ! -d /usr/share/doc/lxd ] 440s + [ ! -d /usr/share/doc/lxd-client ] 440s + [ ! -d /usr/share/doc/snapd ] 440s + type iptables 440s + cat 440s + chmod 755 /etc/rc.local 440s + . /etc/rc.local 440s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 440s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 440s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 440s + uname -m 440s + [ aarch64 = ppc64le ] 440s + [ -d /run/systemd/system ] 440s + systemd-detect-virt --quiet --vm 440s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 440s + cat 440s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 440s + echo COMPRESS=lz4 440s autopkgtest [16:23:27]: upgrading testbed (apt dist-upgrade and autopurge) 440s Reading package lists... 441s Building dependency tree... 441s Reading state information... 441s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 441s Starting 2 pkgProblemResolver with broken count: 0 441s Done 442s Entering ResolveByKeep 442s 443s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 443s Reading package lists... 443s Building dependency tree... 443s Reading state information... 444s Starting pkgProblemResolver with broken count: 0 444s Starting 2 pkgProblemResolver with broken count: 0 444s Done 444s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 445s autopkgtest [16:23:32]: rebooting testbed after setup commands that affected boot 471s Reading package lists... 471s Building dependency tree... 471s Reading state information... 471s Starting pkgProblemResolver with broken count: 0 471s Starting 2 pkgProblemResolver with broken count: 0 471s Done 472s The following NEW packages will be installed: 472s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 472s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 472s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 472s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 472s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 472s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 472s python3-lxml python3-mistletoe python3-packaging python3-phply 472s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 472s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 472s python3-soupsieve python3-syrupy python3-translate python3-tz 472s python3-vobject python3-xapian python3.12 python3.12-minimal subversion 472s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 472s Need to get 14.9 MB of archives. 472s After this operation, 72.8 MB of additional disk space will be used. 472s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.9-1 [2236 kB] 473s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.9-1 [671 kB] 473s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 473s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.30.4 [176 kB] 473s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250213-1ubuntu1 [146 kB] 473s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 473s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-3 [586 kB] 473s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 473s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 473s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 473s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 473s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 473s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 473s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 473s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 473s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.5-2 [1342 kB] 473s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-2 [686 kB] 473s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 473s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-2 [231 kB] 473s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.13.1-1~exp2 [894 B] 473s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 473s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.13.3-1 [136 kB] 473s Get:23 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.4.1-1 [138 kB] 473s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 473s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cwcwidth arm64 0.1.10-1 [24.8 kB] 473s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 473s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 473s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 473s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 473s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.12.1+ds-1 [1328 kB] 473s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.27.0-1 [129 kB] 473s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.1-1 [1600 kB] 473s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 473s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 473s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 473s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 473s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 473s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.4-1 [252 kB] 473s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pytz all 2025.1-3 [162 kB] 473s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1 [174 kB] 473s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 473s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-syrupy all 4.8.1-1 [45.4 kB] 473s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.14.7-1 [319 kB] 473s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tz all 2025.1-3 [1866 B] 473s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 473s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build4 [540 kB] 473s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.5-2 [908 kB] 474s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 474s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 474s Preconfiguring packages ... 474s Fetched 14.9 MB in 1s (10.5 MB/s) 474s Selecting previously unselected package python3.12-minimal. 474s (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 ... 116670 files and directories currently installed.) 474s Preparing to unpack .../00-python3.12-minimal_3.12.9-1_arm64.deb ... 474s Unpacking python3.12-minimal (3.12.9-1) ... 475s Selecting previously unselected package python3.12. 475s Preparing to unpack .../01-python3.12_3.12.9-1_arm64.deb ... 475s Unpacking python3.12 (3.12.9-1) ... 475s Selecting previously unselected package emacsen-common. 475s Preparing to unpack .../02-emacsen-common_3.0.5_all.deb ... 475s Unpacking emacsen-common (3.0.5) ... 475s Selecting previously unselected package dictionaries-common. 475s Preparing to unpack .../03-dictionaries-common_1.30.4_all.deb ... 475s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 475s Unpacking dictionaries-common (1.30.4) ... 475s Selecting previously unselected package libgomp1:arm64. 475s Preparing to unpack .../04-libgomp1_15-20250213-1ubuntu1_arm64.deb ... 475s Unpacking libgomp1:arm64 (15-20250213-1ubuntu1) ... 475s Selecting previously unselected package gettext. 475s Preparing to unpack .../05-gettext_0.23.1-1_arm64.deb ... 475s Unpacking gettext (0.23.1-1) ... 475s Selecting previously unselected package hunspell-en-us. 475s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 475s Unpacking hunspell-en-us (1:2020.12.07-3) ... 475s Selecting previously unselected package libapr1t64:arm64. 475s Preparing to unpack .../07-libapr1t64_1.7.5-1_arm64.deb ... 475s Unpacking libapr1t64:arm64 (1.7.5-1) ... 475s Selecting previously unselected package libaprutil1t64:arm64. 475s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 475s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 475s Selecting previously unselected package libaspell15:arm64. 475s Preparing to unpack .../09-libaspell15_0.60.8.1-4_arm64.deb ... 475s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 475s Selecting previously unselected package libhunspell-1.7-0:arm64. 475s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 475s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 475s Selecting previously unselected package libenchant-2-2:arm64. 475s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 475s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 475s Selecting previously unselected package libexttextcat-data. 475s Preparing to unpack .../12-libexttextcat-data_3.4.7-1build1_all.deb ... 475s Unpacking libexttextcat-data (3.4.7-1build1) ... 475s Selecting previously unselected package libserf-1-1:arm64. 475s Preparing to unpack .../13-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 475s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 475s Selecting previously unselected package libutf8proc3:arm64. 475s Preparing to unpack .../14-libutf8proc3_2.9.0-1build1_arm64.deb ... 475s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 475s Selecting previously unselected package libsvn1:arm64. 475s Preparing to unpack .../15-libsvn1_1.14.5-2_arm64.deb ... 475s Unpacking libsvn1:arm64 (1.14.5-2) ... 475s Selecting previously unselected package libxapian30:arm64. 475s Preparing to unpack .../16-libxapian30_1.4.25-2_arm64.deb ... 475s Unpacking libxapian30:arm64 (1.4.25-2) ... 475s Selecting previously unselected package libxslt1.1:arm64. 475s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 475s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 475s Selecting previously unselected package python3-aeidon. 475s Preparing to unpack .../18-python3-aeidon_1.15-2_all.deb ... 475s Unpacking python3-aeidon (1.15-2) ... 475s Selecting previously unselected package python3-all. 475s Preparing to unpack .../19-python3-all_3.13.1-1~exp2_arm64.deb ... 475s Unpacking python3-all (3.13.1-1~exp2) ... 476s Selecting previously unselected package python3-soupsieve. 476s Preparing to unpack .../20-python3-soupsieve_2.6-1_all.deb ... 476s Unpacking python3-soupsieve (2.6-1) ... 476s Selecting previously unselected package python3-bs4. 476s Preparing to unpack .../21-python3-bs4_4.13.3-1_all.deb ... 476s Unpacking python3-bs4 (4.13.3-1) ... 476s Selecting previously unselected package python3-charset-normalizer. 476s Preparing to unpack .../22-python3-charset-normalizer_3.4.1-1_arm64.deb ... 476s Unpacking python3-charset-normalizer (3.4.1-1) ... 476s Selecting previously unselected package python3-cheroot. 476s Preparing to unpack .../23-python3-cheroot_10.0.1+ds1-3_all.deb ... 476s Unpacking python3-cheroot (10.0.1+ds1-3) ... 476s Selecting previously unselected package python3-cwcwidth. 476s Preparing to unpack .../24-python3-cwcwidth_0.1.10-1_arm64.deb ... 476s Unpacking python3-cwcwidth (0.1.10-1) ... 476s Selecting previously unselected package python3-dateutil. 476s Preparing to unpack .../25-python3-dateutil_2.9.0-3_all.deb ... 476s Unpacking python3-dateutil (2.9.0-3) ... 476s Selecting previously unselected package python3-diff-match-patch. 476s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 476s Unpacking python3-diff-match-patch (20241021-1) ... 476s Selecting previously unselected package python3-enchant. 476s Preparing to unpack .../27-python3-enchant_3.3.0~rc1-1_all.deb ... 476s Unpacking python3-enchant (3.3.0~rc1-1) ... 476s Selecting previously unselected package python3-iniconfig. 476s Preparing to unpack .../28-python3-iniconfig_1.1.1-2_all.deb ... 476s Unpacking python3-iniconfig (1.1.1-2) ... 476s Selecting previously unselected package python3-rapidfuzz. 476s Preparing to unpack .../29-python3-rapidfuzz_3.12.1+ds-1_arm64.deb ... 476s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 476s Selecting previously unselected package python3-levenshtein. 476s Preparing to unpack .../30-python3-levenshtein_0.27.0-1_arm64.deb ... 476s Unpacking python3-levenshtein (0.27.0-1) ... 476s Selecting previously unselected package python3-lxml:arm64. 476s Preparing to unpack .../31-python3-lxml_5.3.1-1_arm64.deb ... 476s Unpacking python3-lxml:arm64 (5.3.1-1) ... 476s Selecting previously unselected package python3-mistletoe. 476s Preparing to unpack .../32-python3-mistletoe_1.4.0-1_all.deb ... 476s Unpacking python3-mistletoe (1.4.0-1) ... 476s Selecting previously unselected package python3-packaging. 476s Preparing to unpack .../33-python3-packaging_24.2-1_all.deb ... 476s Unpacking python3-packaging (24.2-1) ... 476s Selecting previously unselected package python3-ply. 476s Preparing to unpack .../34-python3-ply_3.11-7_all.deb ... 476s Unpacking python3-ply (3.11-7) ... 476s Selecting previously unselected package python3-phply. 476s Preparing to unpack .../35-python3-phply_1.2.6-1_all.deb ... 476s Unpacking python3-phply (1.2.6-1) ... 476s Selecting previously unselected package python3-pluggy. 476s Preparing to unpack .../36-python3-pluggy_1.5.0-1_all.deb ... 476s Unpacking python3-pluggy (1.5.0-1) ... 476s Selecting previously unselected package python3-pytest. 476s Preparing to unpack .../37-python3-pytest_8.3.4-1_all.deb ... 476s Unpacking python3-pytest (8.3.4-1) ... 476s Selecting previously unselected package python3-pytz. 476s Preparing to unpack .../38-python3-pytz_2025.1-3_all.deb ... 476s Unpacking python3-pytz (2025.1-3) ... 476s Selecting previously unselected package python3-ruamel.yaml.clib. 477s Preparing to unpack .../39-python3-ruamel.yaml.clib_0.2.12+ds-1_arm64.deb ... 477s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 477s Selecting previously unselected package python3-ruamel.yaml. 477s Preparing to unpack .../40-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 477s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 477s Selecting previously unselected package python3-syrupy. 477s Preparing to unpack .../41-python3-syrupy_4.8.1-1_all.deb ... 477s Unpacking python3-syrupy (4.8.1-1) ... 477s Selecting previously unselected package python3-translate. 477s Preparing to unpack .../42-python3-translate_3.14.7-1_all.deb ... 477s Unpacking python3-translate (3.14.7-1) ... 477s Selecting previously unselected package python3-tz. 477s Preparing to unpack .../43-python3-tz_2025.1-3_all.deb ... 477s Unpacking python3-tz (2025.1-3) ... 477s Selecting previously unselected package python3-vobject. 477s Preparing to unpack .../44-python3-vobject_0.9.8+dfsg-2_all.deb ... 477s Unpacking python3-vobject (0.9.8+dfsg-2) ... 477s Selecting previously unselected package python3-xapian. 477s Preparing to unpack .../45-python3-xapian_1.4.25-1build4_arm64.deb ... 477s Unpacking python3-xapian (1.4.25-1build4) ... 477s Selecting previously unselected package subversion. 477s Preparing to unpack .../46-subversion_1.14.5-2_arm64.deb ... 477s Unpacking subversion (1.14.5-2) ... 477s Selecting previously unselected package python3-iniparse. 477s Preparing to unpack .../47-python3-iniparse_0.5.1-1_all.deb ... 477s Unpacking python3-iniparse (0.5.1-1) ... 477s Selecting previously unselected package python3-pycountry. 477s Preparing to unpack .../48-python3-pycountry_24.6.1+ds1-1_all.deb ... 477s Unpacking python3-pycountry (24.6.1+ds1-1) ... 477s Setting up python3-iniconfig (1.1.1-2) ... 477s Setting up python3.12-minimal (3.12.9-1) ... 478s Setting up libxapian30:arm64 (1.4.25-2) ... 478s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 479s Setting up python3-diff-match-patch (20241021-1) ... 479s Setting up python3-aeidon (1.15-2) ... 479s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 479s Setting up libaspell15:arm64 (0.60.8.1-4) ... 479s Setting up python3-charset-normalizer (3.4.1-1) ... 479s Setting up python3.12 (3.12.9-1) ... 481s Setting up python3-ply (3.11-7) ... 481s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 481s Setting up python3-all (3.13.1-1~exp2) ... 481s Setting up python3-pytz (2025.1-3) ... 481s Setting up libgomp1:arm64 (15-20250213-1ubuntu1) ... 481s Setting up python3-tz (2025.1-3) ... 481s Setting up python3-packaging (24.2-1) ... 481s Setting up emacsen-common (3.0.5) ... 481s Setting up python3-cheroot (10.0.1+ds1-3) ... 482s Setting up python3-pycountry (24.6.1+ds1-1) ... 482s Setting up python3-xapian (1.4.25-1build4) ... 482s Setting up python3-cwcwidth (0.1.10-1) ... 482s Setting up python3-pluggy (1.5.0-1) ... 483s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 483s Setting up python3-mistletoe (1.4.0-1) ... 483s Setting up libexttextcat-data (3.4.7-1build1) ... 483s Setting up libapr1t64:arm64 (1.7.5-1) ... 483s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 483s Setting up python3-dateutil (2.9.0-3) ... 483s Setting up python3-levenshtein (0.27.0-1) ... 484s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 484s Setting up python3-soupsieve (2.6-1) ... 484s Setting up python3-iniparse (0.5.1-1) ... 484s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 484s Setting up python3-vobject (0.9.8+dfsg-2) ... 484s Setting up gettext (0.23.1-1) ... 484s Setting up python3-phply (1.2.6-1) ... 485s Setting up dictionaries-common (1.30.4) ... 485s Setting up python3-pytest (8.3.4-1) ... 486s Setting up python3-syrupy (4.8.1-1) ... 486s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 486s Setting up python3-bs4 (4.13.3-1) ... 486s Setting up python3-lxml:arm64 (5.3.1-1) ... 487s Setting up hunspell-en-us (1:2020.12.07-3) ... 487s Setting up libsvn1:arm64 (1.14.5-2) ... 487s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 487s Setting up subversion (1.14.5-2) ... 487s Setting up python3-enchant (3.3.0~rc1-1) ... 487s Setting up python3-translate (3.14.7-1) ... 488s Processing triggers for libc-bin (2.40-4ubuntu1) ... 488s Processing triggers for systemd (257.2-3ubuntu1) ... 488s Processing triggers for man-db (2.13.0-1) ... 489s Processing triggers for install-info (7.1.1-1) ... 489s Processing triggers for dictionaries-common (1.30.4) ... 492s autopkgtest [16:24:19]: test python3-translate: [----------------------- 493s ============================= test session starts ============================== 493s platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.12 493s cachedir: .pytest_cache 493s rootdir: /tmp/autopkgtest.bkGGBP/autopkgtest_tmp 493s plugins: syrupy-4.8.1, typeguard-4.4.1 499s collecting ... collected 3368 items / 2 skipped 499s 499s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 499s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 499s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 499s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 499s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 499s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 499s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 499s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 499s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 499s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 500s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 500s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 500s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 500s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 500s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 500s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 500s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 500s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 500s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 500s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 500s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 500s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 500s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 500s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 500s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 500s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 500s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 500s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 500s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 500s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 500s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 500s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 500s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 500s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 500s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 500s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 500s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 500s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 500s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 501s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 501s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 501s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 501s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 501s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 501s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 501s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 501s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 501s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 501s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 501s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 501s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 502s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 502s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 502s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 502s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 502s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 502s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 502s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 502s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 502s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 502s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 502s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 502s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 502s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 502s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 502s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 502s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 502s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 502s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 502s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 502s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 502s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 502s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 502s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 502s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 502s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 503s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 503s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 503s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 503s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 503s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 503s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 503s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 503s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 503s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 503s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 503s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 503s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 503s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 503s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 503s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 503s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 503s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 503s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 503s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 503s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 503s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 503s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 503s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 503s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 503s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 503s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 503s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 503s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 504s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 504s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 504s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 504s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 504s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 504s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 504s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 504s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 504s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 504s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 504s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 504s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 504s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 504s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 504s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 504s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 504s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 504s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 504s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 504s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 504s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 504s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 504s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 504s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 504s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 504s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 504s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 504s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 504s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 504s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 504s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 504s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 504s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 504s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 504s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 504s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 504s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 504s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 504s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 504s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 504s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 504s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 504s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 504s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 504s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 504s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 504s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 504s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 504s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 504s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 504s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 504s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 504s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 505s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 505s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 505s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 505s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 505s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 505s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 505s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 505s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 505s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 505s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 505s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 505s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 505s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 505s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 505s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 505s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 505s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 505s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 505s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 505s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 505s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 505s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 505s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 505s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 505s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 505s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 505s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 505s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 505s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 505s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 505s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 505s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 505s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 505s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 505s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 505s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 505s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 505s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 505s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 505s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 506s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 506s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 506s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 506s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 506s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 506s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 506s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 507s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 507s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 507s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 507s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 507s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 507s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 507s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 507s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 507s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 508s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 508s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 508s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 508s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 508s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 508s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 508s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 508s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 508s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 508s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 508s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 508s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 508s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 508s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 508s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 508s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 508s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 508s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 508s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 508s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 508s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 508s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 508s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 508s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 509s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 510s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 510s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 510s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 510s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 510s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 510s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 510s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 510s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 510s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 510s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 510s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 510s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 510s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 510s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 510s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 510s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 510s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 510s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 510s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 510s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 510s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 510s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 510s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 510s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 510s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 510s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 510s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 510s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 511s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 511s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 511s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 511s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 511s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 511s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 511s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 511s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 511s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 511s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 511s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 511s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 511s 511s =============================== warnings summary =============================== 511s tests/translate/storage/test_cpo.py:15 511s Warning: 511s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 511s ImportError('gettext PO library not found') 511s In pytest 9.1 this warning will become an error by default. 511s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 511s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 511s 511s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 511s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 511s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 511s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 511s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 511s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 511s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 511s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 511s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 511s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 511s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 511s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 511s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 511s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 511s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 511s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 511s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 511s Warning: Could not find accesskey for key.accesskey 511s 511s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 511s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 511s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 511s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 511s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 511s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.idml'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 511s Warning: unclosed file <_io.BufferedReader name='translation.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 511s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 511s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 511s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 511s Warning: Could not find accesskey for prop.accesskey 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 511s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 511s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 511s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 511s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 511s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 511s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 511s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 511s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 511s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 511s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 511s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.odt'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 511s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 511s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 511s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 511s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 511s Enable tracemalloc to get traceback where the object was allocated. 511s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 511s 511s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 511s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 511s 511s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 511s Warning: DTD file '' does not validate 511s 511s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 511s --------------------------- snapshot report summary ---------------------------- 511s 23 snapshots passed. 511s =========================== short test summary info ============================ 511s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 511s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 511s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 511s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 511s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 511s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 511s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 511s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 511s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 511s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 511s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 511s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 511s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 511s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 511s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 511s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 511s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 511s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 511s 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. 511s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 511s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 511s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 511s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 511s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 511s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 511s 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 511s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 511s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 511s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 511s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 511s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 511s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 511s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 511s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 511s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 511s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 511s ========== 3309 passed, 22 skipped, 39 xfailed, 47 warnings in 18.07s ========== 512s ============================= test session starts ============================== 512s platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13 512s cachedir: .pytest_cache 512s rootdir: /tmp/autopkgtest.bkGGBP/autopkgtest_tmp 512s plugins: syrupy-4.8.1, typeguard-4.4.1 517s collecting ... collected 3368 items / 2 skipped 517s 517s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 517s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 517s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 517s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 517s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 517s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 517s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 517s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 517s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 517s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 518s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 518s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 518s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 518s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 518s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 518s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 518s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 518s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 518s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 518s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 518s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 518s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 518s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 518s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 518s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 518s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 518s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 518s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 523s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 528s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 539s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 549s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 552s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 557s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 562s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 573s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 578s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 588s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 599s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 610s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 620s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 631s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 641s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 652s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 657s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 662s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 673s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 684s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 686s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 692s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 697s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 702s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 713s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 724s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 734s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 745s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 755s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 776s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 787s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 787s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 787s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 787s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 787s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 787s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 787s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 787s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 787s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 787s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 787s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 787s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 787s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 787s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 787s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 787s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 787s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 787s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 793s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 793s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 793s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 795s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 798s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 801s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 803s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 806s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 809s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 811s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 814s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 817s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 819s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 822s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 825s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 827s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 830s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 833s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 833s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 838s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 838s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 838s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 840s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 846s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 849s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 852s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 857s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 859s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 862s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 865s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 867s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 870s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 873s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 875s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 878s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 878s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 878s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 878s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 878s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 879s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 879s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 879s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 879s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 879s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 879s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 879s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 879s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 879s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 879s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 879s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 879s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 879s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 879s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 879s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 879s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 879s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 879s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 879s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 879s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 879s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 879s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 879s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 879s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 879s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 879s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 879s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 879s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 879s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 879s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 879s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 879s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 879s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 880s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 880s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 880s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 880s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 880s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 880s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 880s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 880s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 880s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 880s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 880s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 880s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 880s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 880s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 880s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 880s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 880s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 880s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 880s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 880s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 880s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 880s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 880s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 880s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 880s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 880s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 880s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 880s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 880s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 880s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 880s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 880s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 880s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 880s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 881s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 881s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 881s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 881s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 881s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 881s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 881s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 881s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 881s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 881s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 881s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 881s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 881s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 881s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 881s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 881s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 881s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 881s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 881s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 881s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 881s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 881s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 881s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 881s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 881s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 881s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 881s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 881s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 881s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 881s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 881s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 881s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 881s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 881s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 881s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 881s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 881s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 881s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 881s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 881s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 881s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 881s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 881s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 881s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 881s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 881s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 882s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 882s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 882s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 882s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 882s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 882s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 882s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 882s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 882s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 882s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 882s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 882s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 882s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 882s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 882s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 882s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 882s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 882s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 882s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 882s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 882s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 882s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 882s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 882s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 882s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 882s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 882s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 882s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 882s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 882s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 882s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 882s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 885s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 888s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 890s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 895s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 898s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 903s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 909s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 914s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 919s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 924s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 935s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 951s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 956s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 962s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 964s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 967s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 972s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 977s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 983s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 988s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 993s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 999s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 1004s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 1009s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 1015s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 1025s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 1030s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 1036s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 1041s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 1046s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 1052s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 1054s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 1057s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 1062s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 1065s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 1068s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 1073s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 1078s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 1084s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 1089s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 1094s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 1097s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 1102s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 1108s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 1113s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 1115s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 1121s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 1123s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 1129s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 1134s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 1140s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 1145s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 1150s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 1156s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 1161s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 1164s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 1166s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 1169s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 1172s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 1174s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 1177s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 1180s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 1180s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 1180s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 1180s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 1180s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 1180s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 1181s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 1181s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 1181s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 1181s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 1181s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 1181s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 1181s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 1181s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 1181s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 1181s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 1181s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 1181s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 1182s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 1182s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 1182s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 1182s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 1182s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 1182s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 1182s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 1182s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 1182s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 1182s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 1182s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 1182s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 1182s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 1182s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 1182s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 1182s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 1182s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 1182s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 1182s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 1183s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 1183s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 1183s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 1184s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 1184s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 1184s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 1184s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 1184s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1184s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1184s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 1184s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 1184s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 1184s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 1184s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 1184s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 1184s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 1184s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 1184s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1184s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1184s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1184s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1184s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1184s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1184s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1184s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1184s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1184s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1184s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1184s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1184s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1184s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1184s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1184s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1184s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1184s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1184s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1184s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1184s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1184s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 1184s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 1184s 1184s =============================== warnings summary =============================== 1184s tests/translate/storage/test_cpo.py:15 1184s Warning: 1184s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 1184s ImportError('gettext PO library not found') 1184s In pytest 9.1 this warning will become an error by default. 1184s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 1184s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 1184s 1184s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1184s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1184s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1184s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1184s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1184s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1184s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1184s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1184s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1184s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1184s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1184s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1184s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1184s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1184s Warning: Could not find accesskey for key.accesskey 1184s 1184s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1184s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1184s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1184s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1184s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1184s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.idml'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1184s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 1184s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 1184s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1184s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1184s Warning: Could not find accesskey for prop.accesskey 1184s 1184s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1184s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1184s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1184s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1184s Enable tracemalloc to get traceback where the object was allocated. 1184s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1184s 1184s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1185s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1185s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1185s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1185s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1185s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1185s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1185s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1185s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1185s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.odt'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1185s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1185s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1185s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1185s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1185s Enable tracemalloc to get traceback where the object was allocated. 1185s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1185s 1185s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 1185s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 1185s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 1185s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 1185s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 1185s 1185s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1185s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1185s 1185s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1185s Warning: DTD file '' does not validate 1185s 1185s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1185s --------------------------- snapshot report summary ---------------------------- 1185s 23 snapshots passed. 1185s =========================== short test summary info ============================ 1185s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1185s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1185s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1185s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 1185s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 1185s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 1185s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 1185s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1185s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1185s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1185s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1185s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1185s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1185s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1185s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1185s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1185s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1185s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1185s 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. 1185s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1185s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1185s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1185s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1185s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1185s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1185s 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 1185s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1185s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1185s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1185s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1185s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1185s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1185s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1185s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1185s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1185s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1185s ==== 3309 passed, 22 skipped, 39 xfailed, 51 warnings in 672.61s (0:11:12) ===== 1186s autopkgtest [16:35:53]: test python3-translate: -----------------------] 1186s autopkgtest [16:35:53]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 1186s python3-translate PASS 1187s autopkgtest [16:35:54]: test python3-translate-commands: preparing testbed 1325s autopkgtest [16:38:12]: testbed dpkg architecture: arm64 1325s autopkgtest [16:38:12]: testbed apt version: 2.9.29 1326s autopkgtest [16:38:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1326s autopkgtest [16:38:13]: testbed release detected to be: plucky 1327s autopkgtest [16:38:14]: updating testbed package index (apt update) 1327s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 1327s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1327s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1327s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1328s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.1 kB] 1328s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 1328s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [732 kB] 1328s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.5 kB] 1328s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [95.3 kB] 1328s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [7960 B] 1328s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [681 kB] 1328s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [11.5 kB] 1328s Fetched 1729 kB in 1s (1809 kB/s) 1329s Reading package lists... 1329s + lsb_release --codename --short 1329s + RELEASE=plucky 1329s + cat 1329s + [ plucky != trusty ] 1329s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y --allow-downgrades -o Dpkg::Options::=--force-confnew dist-upgrade 1329s Reading package lists... 1330s Building dependency tree... 1330s Reading state information... 1330s Calculating upgrade... 1331s The following NEW packages will be installed: 1331s libapt-pkg7.0 1331s The following packages will be upgraded: 1331s apt apt-utils iproute2 libgpgme11t64 liblsof0 libp11-kit0 lsof rsyslog 1331s sysvinit-utils 1331s 9 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1331s Need to get 5019 kB of archives. 1331s After this operation, 3410 kB of additional disk space will be used. 1331s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 sysvinit-utils arm64 3.14-1ubuntu1 [35.2 kB] 1331s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libapt-pkg7.0 arm64 2.9.30 [1023 kB] 1331s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 apt arm64 2.9.30 [1364 kB] 1331s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 apt-utils arm64 2.9.30 [207 kB] 1331s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 iproute2 arm64 6.13.0-1ubuntu1 [1158 kB] 1331s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libp11-kit0 arm64 0.25.5-2ubuntu3 [280 kB] 1331s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 rsyslog arm64 8.2412.0-2ubuntu1 [521 kB] 1331s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 lsof arm64 4.99.4+dfsg-1 [236 kB] 1331s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsof0 arm64 4.99.4+dfsg-1 [53.9 kB] 1331s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.2-1ubuntu1 [142 kB] 1332s Preconfiguring packages ... 1332s Fetched 5019 kB in 1s (6813 kB/s) 1332s (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 ... 116620 files and directories currently installed.) 1332s Preparing to unpack .../sysvinit-utils_3.14-1ubuntu1_arm64.deb ... 1332s Unpacking sysvinit-utils (3.14-1ubuntu1) over (3.08-6ubuntu3) ... 1332s Setting up sysvinit-utils (3.14-1ubuntu1) ... 1332s Selecting previously unselected package libapt-pkg7.0:arm64. 1332s (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 ... 116620 files and directories currently installed.) 1332s Preparing to unpack .../libapt-pkg7.0_2.9.30_arm64.deb ... 1332s Unpacking libapt-pkg7.0:arm64 (2.9.30) ... 1333s Setting up libapt-pkg7.0:arm64 (2.9.30) ... 1333s (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 ... 116669 files and directories currently installed.) 1333s Preparing to unpack .../archives/apt_2.9.30_arm64.deb ... 1333s Unpacking apt (2.9.30) over (2.9.29) ... 1333s Setting up apt (2.9.30) ... 1334s (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 ... 116669 files and directories currently installed.) 1334s Preparing to unpack .../0-apt-utils_2.9.30_arm64.deb ... 1334s Unpacking apt-utils (2.9.30) over (2.9.29) ... 1334s Preparing to unpack .../1-iproute2_6.13.0-1ubuntu1_arm64.deb ... 1334s Unpacking iproute2 (6.13.0-1ubuntu1) over (6.10.0-2ubuntu1) ... 1334s Preparing to unpack .../2-libp11-kit0_0.25.5-2ubuntu3_arm64.deb ... 1334s Unpacking libp11-kit0:arm64 (0.25.5-2ubuntu3) over (0.25.5-2ubuntu2) ... 1334s Preparing to unpack .../3-rsyslog_8.2412.0-2ubuntu1_arm64.deb ... 1334s Unpacking rsyslog (8.2412.0-2ubuntu1) over (8.2412.0-1ubuntu1) ... 1334s Preparing to unpack .../4-lsof_4.99.4+dfsg-1_arm64.deb ... 1334s Unpacking lsof (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 1334s Preparing to unpack .../5-liblsof0_4.99.4+dfsg-1_arm64.deb ... 1334s Unpacking liblsof0 (4.99.4+dfsg-1) over (4.99.3+dfsg-2) ... 1334s Preparing to unpack .../6-libgpgme11t64_1.24.2-1ubuntu1_arm64.deb ... 1334s Unpacking libgpgme11t64:arm64 (1.24.2-1ubuntu1) over (1.24.1-4ubuntu1) ... 1334s Setting up apt-utils (2.9.30) ... 1334s Setting up liblsof0 (4.99.4+dfsg-1) ... 1334s Setting up iproute2 (6.13.0-1ubuntu1) ... 1334s Setting up rsyslog (8.2412.0-2ubuntu1) ... 1334s info: The user `syslog' is already a member of `adm'. 1335s Setting up libp11-kit0:arm64 (0.25.5-2ubuntu3) ... 1335s Setting up lsof (4.99.4+dfsg-1) ... 1335s Setting up libgpgme11t64:arm64 (1.24.2-1ubuntu1) ... 1335s Processing triggers for man-db (2.13.0-1) ... 1337s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1338s + rm /etc/apt/preferences.d/force-downgrade-to-release.pref 1338s + /usr/lib/apt/apt-helper analyze-pattern ?true 1338s + uname -r 1338s + sed s/\./\\./g 1338s + running_kernel_pattern=^linux-.*6\.12\.0-15-generic.* 1338s + apt list ?obsolete 1338s + tail -n+2 1338s + cut -d/ -f1 1338s + grep -v ^linux-.*6\.12\.0-15-generic.* 1339s + true 1339s + obsolete_pkgs= 1339s + DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y purge --autoremove 1339s Reading package lists... 1339s Building dependency tree... 1339s Reading state information... 1340s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1340s + grep -q trusty /etc/lsb-release 1340s + [ ! -d /usr/share/doc/unattended-upgrades ] 1340s + [ ! -d /usr/share/doc/lxd ] 1340s + [ ! -d /usr/share/doc/lxd-client ] 1340s + [ ! -d /usr/share/doc/snapd ] 1340s + type iptables 1340s + cat 1340s + chmod 755 /etc/rc.local 1340s + . /etc/rc.local 1340s + iptables -w -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 1340s + iptables -A OUTPUT -d 10.255.255.1/32 -p tcp -j DROP 1340s + iptables -A OUTPUT -d 10.255.255.2/32 -p tcp -j DROP 1340s + uname -m 1340s + [ aarch64 = ppc64le ] 1340s + [ -d /run/systemd/system ] 1340s + systemd-detect-virt --quiet --vm 1340s + mkdir -p /etc/systemd/system/systemd-random-seed.service.d/ 1340s + cat 1340s + grep -q lz4 /etc/initramfs-tools/initramfs.conf 1340s + echo COMPRESS=lz4 1340s autopkgtest [16:38:27]: upgrading testbed (apt dist-upgrade and autopurge) 1340s Reading package lists... 1340s Building dependency tree... 1340s Reading state information... 1341s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1341s Starting 2 pkgProblemResolver with broken count: 0 1341s Done 1342s Entering ResolveByKeep 1342s 1343s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1343s Reading package lists... 1343s Building dependency tree... 1343s Reading state information... 1343s Starting pkgProblemResolver with broken count: 0 1344s Starting 2 pkgProblemResolver with broken count: 0 1344s Done 1344s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1344s autopkgtest [16:38:31]: rebooting testbed after setup commands that affected boot 1372s Reading package lists... 1373s Building dependency tree... 1373s Reading state information... 1373s Starting pkgProblemResolver with broken count: 0 1374s Starting 2 pkgProblemResolver with broken count: 0 1374s Done 1375s The following NEW packages will be installed: 1375s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 1375s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 1375s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 1375s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 1375s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 1375s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 1375s python3-lxml python3-mistletoe python3-packaging python3-phply 1375s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 1375s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 1375s python3-soupsieve python3-syrupy python3-translate python3-tz 1375s python3-vobject python3-wcwidth python3-xapian python3.12 python3.12-minimal 1375s subversion translate-toolkit 1375s 0 upgraded, 51 newly installed, 0 to remove and 0 not upgraded. 1375s Need to get 15.0 MB of archives. 1375s After this operation, 73.7 MB of additional disk space will be used. 1375s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.9-1 [2236 kB] 1376s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.9-1 [671 kB] 1376s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 1376s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.30.4 [176 kB] 1376s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250213-1ubuntu1 [146 kB] 1376s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 1376s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-3 [586 kB] 1376s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 1376s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 1376s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 1376s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 1376s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 1376s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 1376s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 1376s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 1376s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.5-2 [1342 kB] 1376s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-2 [686 kB] 1376s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 1376s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-2 [231 kB] 1376s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.13.1-1~exp2 [894 B] 1376s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 1376s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.13.3-1 [136 kB] 1376s Get:23 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.4.1-1 [138 kB] 1376s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 1376s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cwcwidth arm64 0.1.10-1 [24.8 kB] 1376s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 1376s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 1376s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 1376s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 1376s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.12.1+ds-1 [1328 kB] 1376s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.27.0-1 [129 kB] 1376s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.1-1 [1600 kB] 1376s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 1376s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 1376s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 1376s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 1376s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 1376s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.4-1 [252 kB] 1376s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pytz all 2025.1-3 [162 kB] 1376s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1 [174 kB] 1376s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 1376s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-syrupy all 4.8.1-1 [45.4 kB] 1376s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.14.7-1 [319 kB] 1377s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-tz all 2025.1-3 [1866 B] 1377s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 1377s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1377s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build4 [540 kB] 1377s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.5-2 [908 kB] 1377s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 translate-toolkit all 3.14.7-1 [81.5 kB] 1377s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 1377s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 1377s Preconfiguring packages ... 1377s Fetched 15.0 MB in 2s (7711 kB/s) 1377s Selecting previously unselected package python3.12-minimal. 1378s (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 ... 116670 files and directories currently installed.) 1378s Preparing to unpack .../00-python3.12-minimal_3.12.9-1_arm64.deb ... 1378s Unpacking python3.12-minimal (3.12.9-1) ... 1378s Selecting previously unselected package python3.12. 1378s Preparing to unpack .../01-python3.12_3.12.9-1_arm64.deb ... 1378s Unpacking python3.12 (3.12.9-1) ... 1378s Selecting previously unselected package emacsen-common. 1378s Preparing to unpack .../02-emacsen-common_3.0.5_all.deb ... 1378s Unpacking emacsen-common (3.0.5) ... 1378s Selecting previously unselected package dictionaries-common. 1378s Preparing to unpack .../03-dictionaries-common_1.30.4_all.deb ... 1378s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 1378s Unpacking dictionaries-common (1.30.4) ... 1378s Selecting previously unselected package libgomp1:arm64. 1378s Preparing to unpack .../04-libgomp1_15-20250213-1ubuntu1_arm64.deb ... 1378s Unpacking libgomp1:arm64 (15-20250213-1ubuntu1) ... 1378s Selecting previously unselected package gettext. 1378s Preparing to unpack .../05-gettext_0.23.1-1_arm64.deb ... 1378s Unpacking gettext (0.23.1-1) ... 1378s Selecting previously unselected package hunspell-en-us. 1378s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 1378s Unpacking hunspell-en-us (1:2020.12.07-3) ... 1378s Selecting previously unselected package libapr1t64:arm64. 1378s Preparing to unpack .../07-libapr1t64_1.7.5-1_arm64.deb ... 1378s Unpacking libapr1t64:arm64 (1.7.5-1) ... 1378s Selecting previously unselected package libaprutil1t64:arm64. 1378s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 1378s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 1378s Selecting previously unselected package libaspell15:arm64. 1378s Preparing to unpack .../09-libaspell15_0.60.8.1-4_arm64.deb ... 1378s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 1378s Selecting previously unselected package libhunspell-1.7-0:arm64. 1378s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 1378s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 1378s Selecting previously unselected package libenchant-2-2:arm64. 1378s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 1378s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 1378s Selecting previously unselected package libexttextcat-data. 1378s Preparing to unpack .../12-libexttextcat-data_3.4.7-1build1_all.deb ... 1378s Unpacking libexttextcat-data (3.4.7-1build1) ... 1378s Selecting previously unselected package libserf-1-1:arm64. 1378s Preparing to unpack .../13-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 1378s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 1378s Selecting previously unselected package libutf8proc3:arm64. 1378s Preparing to unpack .../14-libutf8proc3_2.9.0-1build1_arm64.deb ... 1378s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 1378s Selecting previously unselected package libsvn1:arm64. 1378s Preparing to unpack .../15-libsvn1_1.14.5-2_arm64.deb ... 1378s Unpacking libsvn1:arm64 (1.14.5-2) ... 1379s Selecting previously unselected package libxapian30:arm64. 1379s Preparing to unpack .../16-libxapian30_1.4.25-2_arm64.deb ... 1379s Unpacking libxapian30:arm64 (1.4.25-2) ... 1379s Selecting previously unselected package libxslt1.1:arm64. 1379s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 1379s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1379s Selecting previously unselected package python3-aeidon. 1379s Preparing to unpack .../18-python3-aeidon_1.15-2_all.deb ... 1379s Unpacking python3-aeidon (1.15-2) ... 1379s Selecting previously unselected package python3-all. 1379s Preparing to unpack .../19-python3-all_3.13.1-1~exp2_arm64.deb ... 1379s Unpacking python3-all (3.13.1-1~exp2) ... 1379s Selecting previously unselected package python3-soupsieve. 1379s Preparing to unpack .../20-python3-soupsieve_2.6-1_all.deb ... 1379s Unpacking python3-soupsieve (2.6-1) ... 1379s Selecting previously unselected package python3-bs4. 1379s Preparing to unpack .../21-python3-bs4_4.13.3-1_all.deb ... 1379s Unpacking python3-bs4 (4.13.3-1) ... 1379s Selecting previously unselected package python3-charset-normalizer. 1379s Preparing to unpack .../22-python3-charset-normalizer_3.4.1-1_arm64.deb ... 1379s Unpacking python3-charset-normalizer (3.4.1-1) ... 1379s Selecting previously unselected package python3-cheroot. 1379s Preparing to unpack .../23-python3-cheroot_10.0.1+ds1-3_all.deb ... 1379s Unpacking python3-cheroot (10.0.1+ds1-3) ... 1379s Selecting previously unselected package python3-cwcwidth. 1379s Preparing to unpack .../24-python3-cwcwidth_0.1.10-1_arm64.deb ... 1379s Unpacking python3-cwcwidth (0.1.10-1) ... 1379s Selecting previously unselected package python3-dateutil. 1379s Preparing to unpack .../25-python3-dateutil_2.9.0-3_all.deb ... 1379s Unpacking python3-dateutil (2.9.0-3) ... 1379s Selecting previously unselected package python3-diff-match-patch. 1379s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 1379s Unpacking python3-diff-match-patch (20241021-1) ... 1379s Selecting previously unselected package python3-enchant. 1379s Preparing to unpack .../27-python3-enchant_3.3.0~rc1-1_all.deb ... 1379s Unpacking python3-enchant (3.3.0~rc1-1) ... 1379s Selecting previously unselected package python3-iniconfig. 1379s Preparing to unpack .../28-python3-iniconfig_1.1.1-2_all.deb ... 1379s Unpacking python3-iniconfig (1.1.1-2) ... 1379s Selecting previously unselected package python3-rapidfuzz. 1379s Preparing to unpack .../29-python3-rapidfuzz_3.12.1+ds-1_arm64.deb ... 1379s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 1379s Selecting previously unselected package python3-levenshtein. 1379s Preparing to unpack .../30-python3-levenshtein_0.27.0-1_arm64.deb ... 1379s Unpacking python3-levenshtein (0.27.0-1) ... 1379s Selecting previously unselected package python3-lxml:arm64. 1379s Preparing to unpack .../31-python3-lxml_5.3.1-1_arm64.deb ... 1379s Unpacking python3-lxml:arm64 (5.3.1-1) ... 1379s Selecting previously unselected package python3-mistletoe. 1379s Preparing to unpack .../32-python3-mistletoe_1.4.0-1_all.deb ... 1379s Unpacking python3-mistletoe (1.4.0-1) ... 1379s Selecting previously unselected package python3-packaging. 1379s Preparing to unpack .../33-python3-packaging_24.2-1_all.deb ... 1379s Unpacking python3-packaging (24.2-1) ... 1379s Selecting previously unselected package python3-ply. 1379s Preparing to unpack .../34-python3-ply_3.11-7_all.deb ... 1379s Unpacking python3-ply (3.11-7) ... 1379s Selecting previously unselected package python3-phply. 1380s Preparing to unpack .../35-python3-phply_1.2.6-1_all.deb ... 1380s Unpacking python3-phply (1.2.6-1) ... 1380s Selecting previously unselected package python3-pluggy. 1380s Preparing to unpack .../36-python3-pluggy_1.5.0-1_all.deb ... 1380s Unpacking python3-pluggy (1.5.0-1) ... 1380s Selecting previously unselected package python3-pytest. 1380s Preparing to unpack .../37-python3-pytest_8.3.4-1_all.deb ... 1380s Unpacking python3-pytest (8.3.4-1) ... 1380s Selecting previously unselected package python3-pytz. 1380s Preparing to unpack .../38-python3-pytz_2025.1-3_all.deb ... 1380s Unpacking python3-pytz (2025.1-3) ... 1380s Selecting previously unselected package python3-ruamel.yaml.clib. 1380s Preparing to unpack .../39-python3-ruamel.yaml.clib_0.2.12+ds-1_arm64.deb ... 1380s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 1380s Selecting previously unselected package python3-ruamel.yaml. 1380s Preparing to unpack .../40-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 1380s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 1380s Selecting previously unselected package python3-syrupy. 1380s Preparing to unpack .../41-python3-syrupy_4.8.1-1_all.deb ... 1380s Unpacking python3-syrupy (4.8.1-1) ... 1380s Selecting previously unselected package python3-translate. 1380s Preparing to unpack .../42-python3-translate_3.14.7-1_all.deb ... 1380s Unpacking python3-translate (3.14.7-1) ... 1380s Selecting previously unselected package python3-tz. 1380s Preparing to unpack .../43-python3-tz_2025.1-3_all.deb ... 1380s Unpacking python3-tz (2025.1-3) ... 1380s Selecting previously unselected package python3-vobject. 1380s Preparing to unpack .../44-python3-vobject_0.9.8+dfsg-2_all.deb ... 1380s Unpacking python3-vobject (0.9.8+dfsg-2) ... 1380s Selecting previously unselected package python3-wcwidth. 1380s Preparing to unpack .../45-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1380s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1380s Selecting previously unselected package python3-xapian. 1380s Preparing to unpack .../46-python3-xapian_1.4.25-1build4_arm64.deb ... 1380s Unpacking python3-xapian (1.4.25-1build4) ... 1380s Selecting previously unselected package subversion. 1380s Preparing to unpack .../47-subversion_1.14.5-2_arm64.deb ... 1380s Unpacking subversion (1.14.5-2) ... 1380s Selecting previously unselected package translate-toolkit. 1380s Preparing to unpack .../48-translate-toolkit_3.14.7-1_all.deb ... 1380s Unpacking translate-toolkit (3.14.7-1) ... 1380s Selecting previously unselected package python3-iniparse. 1380s Preparing to unpack .../49-python3-iniparse_0.5.1-1_all.deb ... 1380s Unpacking python3-iniparse (0.5.1-1) ... 1380s Selecting previously unselected package python3-pycountry. 1380s Preparing to unpack .../50-python3-pycountry_24.6.1+ds1-1_all.deb ... 1380s Unpacking python3-pycountry (24.6.1+ds1-1) ... 1380s Setting up python3-iniconfig (1.1.1-2) ... 1381s Setting up python3.12-minimal (3.12.9-1) ... 1382s Setting up libxapian30:arm64 (1.4.25-2) ... 1382s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 1382s Setting up python3-diff-match-patch (20241021-1) ... 1382s Setting up python3-aeidon (1.15-2) ... 1383s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 1383s Setting up libaspell15:arm64 (0.60.8.1-4) ... 1383s Setting up python3-charset-normalizer (3.4.1-1) ... 1383s Setting up python3.12 (3.12.9-1) ... 1384s Setting up python3-ply (3.11-7) ... 1384s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 1384s Setting up python3-all (3.13.1-1~exp2) ... 1384s Setting up python3-pytz (2025.1-3) ... 1385s Setting up libgomp1:arm64 (15-20250213-1ubuntu1) ... 1385s Setting up python3-tz (2025.1-3) ... 1385s Setting up python3-packaging (24.2-1) ... 1385s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1385s Setting up emacsen-common (3.0.5) ... 1385s Setting up python3-cheroot (10.0.1+ds1-3) ... 1385s Setting up python3-pycountry (24.6.1+ds1-1) ... 1386s Setting up python3-xapian (1.4.25-1build4) ... 1386s Setting up python3-cwcwidth (0.1.10-1) ... 1386s Setting up python3-pluggy (1.5.0-1) ... 1386s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 1387s Setting up python3-mistletoe (1.4.0-1) ... 1387s Setting up libexttextcat-data (3.4.7-1build1) ... 1387s Setting up libapr1t64:arm64 (1.7.5-1) ... 1387s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1387s Setting up python3-dateutil (2.9.0-3) ... 1387s Setting up python3-levenshtein (0.27.0-1) ... 1387s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 1387s Setting up python3-soupsieve (2.6-1) ... 1388s Setting up python3-iniparse (0.5.1-1) ... 1388s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 1388s Setting up python3-vobject (0.9.8+dfsg-2) ... 1388s Setting up gettext (0.23.1-1) ... 1388s Setting up python3-phply (1.2.6-1) ... 1389s Setting up dictionaries-common (1.30.4) ... 1389s Setting up python3-pytest (8.3.4-1) ... 1390s Setting up python3-syrupy (4.8.1-1) ... 1390s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 1390s Setting up python3-bs4 (4.13.3-1) ... 1390s Setting up python3-lxml:arm64 (5.3.1-1) ... 1391s Setting up hunspell-en-us (1:2020.12.07-3) ... 1391s Setting up libsvn1:arm64 (1.14.5-2) ... 1391s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 1391s Setting up subversion (1.14.5-2) ... 1391s Setting up python3-enchant (3.3.0~rc1-1) ... 1391s Setting up python3-translate (3.14.7-1) ... 1392s Setting up translate-toolkit (3.14.7-1) ... 1392s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1392s Processing triggers for systemd (257.2-3ubuntu1) ... 1392s Processing triggers for man-db (2.13.0-1) ... 1394s Processing triggers for install-info (7.1.1-1) ... 1394s Processing triggers for dictionaries-common (1.30.4) ... 1399s autopkgtest [16:39:26]: test python3-translate-commands: [----------------------- 1399s ============================= test session starts ============================== 1399s platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.12 1399s cachedir: .pytest_cache 1399s rootdir: /tmp/autopkgtest.bkGGBP/autopkgtest_tmp 1399s plugins: syrupy-4.8.1, typeguard-4.4.1 1406s collecting ... collected 3368 items / 2 skipped 1406s 1406s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1406s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1406s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1406s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1406s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1406s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1406s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1406s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1406s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 1406s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1406s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1407s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1407s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1407s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 1407s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1407s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1407s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1407s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1407s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1407s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1407s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1407s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1407s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1407s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1407s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1407s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1407s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1407s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 1407s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1407s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1407s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1407s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 1407s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1407s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1407s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 1407s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 1407s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1407s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 1407s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1407s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1407s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1407s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1407s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1407s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1407s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 1408s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1408s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1408s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1408s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1408s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1409s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1409s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1409s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1409s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1409s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1409s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1409s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1409s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1409s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 1409s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 1409s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 1409s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 1409s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1409s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1409s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1409s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1409s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1409s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1409s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1409s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1409s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1409s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1410s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 1410s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1410s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1410s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1410s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1410s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1410s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1410s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1410s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 1410s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1410s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1410s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 1410s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 1410s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1410s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1410s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 1410s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 1410s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1410s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1410s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1410s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1410s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1410s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1410s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1410s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1410s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1410s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1410s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1410s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1410s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1410s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1410s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1410s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1410s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1410s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1410s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1411s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1411s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 1411s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 1411s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 1411s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 1411s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 1411s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 1411s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 1411s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 1411s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 1411s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 1411s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1411s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1411s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1411s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1411s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1411s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1411s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1411s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 1411s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 1411s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 1411s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 1411s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 1411s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 1411s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 1411s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1411s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1411s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1411s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1411s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1411s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1411s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1411s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1411s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1411s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 1411s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1411s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1411s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1411s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1411s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1411s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1411s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1411s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1411s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1411s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 1411s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 1411s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 1411s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 1411s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 1411s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 1411s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 1411s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 1411s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 1411s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1411s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1411s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1411s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 1411s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 1412s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 1412s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 1412s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 1412s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 1412s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 1412s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 1412s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 1412s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 1412s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 1412s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 1412s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 1412s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 1412s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 1412s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 1412s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 1412s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 1412s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 1412s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 1412s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 1413s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 1413s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 1413s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 1413s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 1413s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 1413s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 1413s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 1413s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 1413s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 1413s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 1413s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 1413s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 1413s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 1413s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 1413s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 1415s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 1415s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 1415s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 1415s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 1415s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 1415s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 1415s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 1415s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 1415s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 1415s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 1415s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 1415s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 1415s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 1416s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 1416s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 1416s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 1416s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 1416s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 1416s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 1416s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 1416s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 1416s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 1416s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 1416s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 1416s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 1416s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 1416s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 1416s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 1416s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 1416s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 1417s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 1417s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 1417s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 1417s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 1417s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 1417s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 1417s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1417s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1417s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 1417s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 1418s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 1418s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 1418s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 1418s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 1418s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 1418s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 1419s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 1419s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1419s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1419s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1419s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1419s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1419s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1419s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1419s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1419s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1419s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1419s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1419s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1419s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1419s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1419s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1419s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1419s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1419s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1419s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1419s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1419s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1419s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 1420s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 1420s 1420s =============================== warnings summary =============================== 1420s tests/translate/storage/test_cpo.py:15 1420s Warning: 1420s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 1420s ImportError('gettext PO library not found') 1420s In pytest 9.1 this warning will become an error by default. 1420s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 1420s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 1420s 1420s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1420s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1420s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1420s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1420s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1420s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1420s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1420s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1420s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1420s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1420s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1420s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1420s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1420s Warning: Could not find accesskey for key.accesskey 1420s 1420s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1420s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1420s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1420s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1420s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1420s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.idml'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1420s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1420s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1420s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1420s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1420s Warning: Could not find accesskey for prop.accesskey 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1420s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1420s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1420s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1420s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1420s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1420s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1420s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1420s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1420s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1420s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1420s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.odt'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1420s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1420s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1420s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1420s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1420s Enable tracemalloc to get traceback where the object was allocated. 1420s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1420s 1420s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1420s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1420s 1420s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1420s Warning: DTD file '' does not validate 1420s 1420s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1420s --------------------------- snapshot report summary ---------------------------- 1420s 23 snapshots passed. 1420s =========================== short test summary info ============================ 1420s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1420s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1420s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1420s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1420s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1420s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1420s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1420s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1420s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1420s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1420s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1420s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1420s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1420s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1420s 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. 1420s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1420s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1420s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1420s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1420s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1420s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1420s 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 1420s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1420s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1420s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1420s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1420s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1420s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1420s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1420s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1420s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1420s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1420s ========== 3328 passed, 3 skipped, 39 xfailed, 47 warnings in 20.89s =========== 1421s ============================= test session starts ============================== 1421s platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13 1421s cachedir: .pytest_cache 1421s rootdir: /tmp/autopkgtest.bkGGBP/autopkgtest_tmp 1421s plugins: syrupy-4.8.1, typeguard-4.4.1 1426s collecting ... collected 3368 items / 2 skipped 1426s 1426s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1426s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1426s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1426s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1426s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1426s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1426s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1426s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1426s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1426s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 1427s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1427s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1427s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1427s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 1427s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1427s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1427s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1427s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1427s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1427s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1427s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1427s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1427s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1427s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1427s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1427s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1427s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1427s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 1427s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1427s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1432s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1437s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1448s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1459s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1461s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1467s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1472s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1477s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1483s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1488s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 1498s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 1509s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 1520s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1531s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1541s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1552s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1563s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1574s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1585s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1603s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1608s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1614s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1624s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1635s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1646s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1657s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1667s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1678s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1689s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1700s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1700s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1700s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 1700s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1700s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1700s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 1700s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 1700s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1700s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 1700s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1700s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1700s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1700s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1700s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1700s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1700s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 1700s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1700s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1706s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1706s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1706s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1708s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1711s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1714s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1716s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 1719s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 1722s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 1724s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 1727s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 1730s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 1733s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 1735s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 1738s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1741s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1744s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1746s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1746s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1751s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1751s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1751s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1754s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1757s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1759s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1762s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1765s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1767s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1770s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1773s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1776s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1778s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1781s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1784s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1786s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1789s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1792s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1792s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1792s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1792s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1792s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1792s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1793s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1793s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1793s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1793s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1793s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1793s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1793s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1793s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1793s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 1793s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 1793s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 1793s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 1793s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1793s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1793s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1793s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1794s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1794s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1794s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1794s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1794s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1794s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1794s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1794s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 1794s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1794s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1794s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1794s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1794s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1794s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1794s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1794s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 1794s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1794s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1794s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1794s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1794s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1794s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1794s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1795s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 1795s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 1795s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1795s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1795s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 1795s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 1795s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1795s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1795s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1795s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1795s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1795s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1795s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1795s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1795s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1795s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1795s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1795s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1795s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1795s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1795s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 1795s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 1795s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 1795s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 1795s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 1795s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 1795s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1795s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1795s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1795s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1795s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1795s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1795s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1795s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 1795s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 1795s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 1795s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 1795s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 1795s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 1795s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 1795s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1795s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1795s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1795s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1795s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1795s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1795s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1795s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1795s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1795s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 1795s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1795s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1795s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1795s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1795s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1795s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1795s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1795s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1796s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1796s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 1796s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 1796s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 1796s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 1796s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 1796s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 1796s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 1796s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 1796s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 1796s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 1796s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 1796s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 1796s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 1797s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 1797s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 1797s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 1797s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 1797s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 1797s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 1797s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 1797s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 1797s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 1797s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 1797s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 1797s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 1797s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 1797s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 1797s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 1797s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 1797s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 1797s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 1797s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 1797s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 1797s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 1797s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 1797s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 1797s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 1797s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 1797s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 1797s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 1797s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 1800s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 1803s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 1805s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 1811s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 1813s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 1819s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 1824s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 1829s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 1835s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 1840s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 1851s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 1867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 1872s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 1879s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 1882s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 1885s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 1890s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 1897s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 1902s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 1908s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 1913s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 1918s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 1924s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 1929s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 1935s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 1940s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 1951s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 1956s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 1962s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 1967s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 1972s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 1975s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 1978s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 1983s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 1986s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 1989s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 1994s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 1999s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 2005s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 2010s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 2015s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 2018s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 2023s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 2028s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 2034s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 2036s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 2042s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 2044s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 2050s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 2055s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 2061s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 2066s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 2071s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 2077s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 2082s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 2085s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 2087s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 2090s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 2093s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 2095s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 2098s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 2101s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 2101s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 2101s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 2101s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 2101s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 2101s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 2102s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 2102s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 2102s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 2102s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 2102s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 2102s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 2102s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 2102s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 2102s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 2103s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 2103s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 2103s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 2103s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 2103s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 2103s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 2103s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 2103s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 2103s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 2103s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 2103s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 2103s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 2103s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 2103s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 2103s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 2103s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 2103s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 2103s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 2103s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 2104s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 2104s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 2104s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 2104s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 2104s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 2104s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 2104s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 2104s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 2104s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 2105s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 2105s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 2105s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 2105s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 2105s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 2105s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 2106s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 2106s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 2106s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 2106s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 2106s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 2106s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 2106s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 2106s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 2106s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 2106s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 2106s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 2106s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 2106s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 2106s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 2106s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 2106s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 2106s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 2106s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 2106s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 2106s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 2106s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 2106s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 2106s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 2107s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 2107s 2107s =============================== warnings summary =============================== 2107s tests/translate/storage/test_cpo.py:15 2107s Warning: 2107s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 2107s ImportError('gettext PO library not found') 2107s In pytest 9.1 this warning will become an error by default. 2107s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 2107s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 2107s 2107s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 2107s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 2107s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 2107s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 2107s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 2107s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 2107s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 2107s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 2107s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 2107s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 2107s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 2107s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 2107s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 2107s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 2107s Warning: Could not find accesskey for key.accesskey 2107s 2107s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 2107s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 2107s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 2107s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 2107s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 2107s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.idml'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 2107s Warning: unclosed file <_io.BufferedReader name='translation.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 2107s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 2107s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 2107s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 2107s Warning: Could not find accesskey for prop.accesskey 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 2107s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 2107s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2107s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2107s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 2107s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 2107s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 2107s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 2107s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 2107s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 2107s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 2107s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.bkGGBP/autopkgtest_tmp/tests/translate/convert/test.odt'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 2107s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 2107s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 2107s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 2107s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 2107s Enable tracemalloc to get traceback where the object was allocated. 2107s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2107s 2107s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 2107s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 2107s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 2107s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 2107s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 2107s 2107s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 2107s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 2107s 2107s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 2107s Warning: DTD file '' does not validate 2107s 2107s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2107s --------------------------- snapshot report summary ---------------------------- 2107s 23 snapshots passed. 2107s =========================== short test summary info ============================ 2107s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 2107s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 2107s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 2107s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 2107s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 2107s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 2107s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 2107s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 2107s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 2107s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 2107s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 2107s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 2107s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 2107s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 2107s 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. 2107s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 2107s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 2107s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 2107s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 2107s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 2107s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 2107s 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 2107s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 2107s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 2107s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 2107s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 2107s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 2107s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 2107s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 2107s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 2107s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 2107s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 2107s ===== 3328 passed, 3 skipped, 39 xfailed, 51 warnings in 685.90s (0:11:25) ===== 2108s autopkgtest [16:51:15]: test python3-translate-commands: -----------------------] 2109s python3-translate-commands PASS 2109s autopkgtest [16:51:16]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 2109s autopkgtest [16:51:16]: @@@@@@@@@@@@@@@@@@@@ summary 2109s translate-toolkit PASS 2109s python3-translate PASS 2109s python3-translate-commands PASS 2126s nova [W] Using flock in prodstack6-arm64 2126s Creating nova instance adt-plucky-arm64-translate-toolkit-20250219-161607-juju-7f2275-prod-proposed-migration-environment-15-e7caf4b8-ad46-4b02-a6e7-71f14ed9db92 from image adt/ubuntu-plucky-arm64-server-20250219.img (UUID 02c92adb-9d9d-4b0e-b071-488d8ee6210f)... 2126s nova [W] Timed out waiting for 63527f40-4a87-45ca-b4f1-de3e7637e9d0 to get deleted. 2126s nova [W] Using flock in prodstack6-arm64 2126s Creating nova instance adt-plucky-arm64-translate-toolkit-20250219-161607-juju-7f2275-prod-proposed-migration-environment-15-e7caf4b8-ad46-4b02-a6e7-71f14ed9db92 from image adt/ubuntu-plucky-arm64-server-20250219.img (UUID 02c92adb-9d9d-4b0e-b071-488d8ee6210f)... 2126s nova [W] Timed out waiting for 86611e59-fa98-451c-8dda-4b01c5a270e4 to get deleted. 2126s nova [W] Using flock in prodstack6-arm64 2126s Creating nova instance adt-plucky-arm64-translate-toolkit-20250219-161607-juju-7f2275-prod-proposed-migration-environment-15-e7caf4b8-ad46-4b02-a6e7-71f14ed9db92 from image adt/ubuntu-plucky-arm64-server-20250219.img (UUID 02c92adb-9d9d-4b0e-b071-488d8ee6210f)... 2126s nova [W] Timed out waiting for dcaef89d-66be-4580-a94a-3fe0b84884e5 to get deleted.