0s autopkgtest [17:43:52]: starting date and time: 2024-05-04 17:43:52+0000 0s autopkgtest [17:43:52]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [17:43:52]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.q7779l7r/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:xapian-bindings --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=xapian-bindings/1.4.25-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos03-arm64-23.secgroup --name adt-oracular-arm64-translate-toolkit-20240504-174352-juju-7f2275-prod-proposed-migration-environment-3-ecf58d09-a840-4a25-a8cc-99073a66dd5e --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 419s Creating nova instance adt-oracular-arm64-translate-toolkit-20240504-174352-juju-7f2275-prod-proposed-migration-environment-3-ecf58d09-a840-4a25-a8cc-99073a66dd5e from image adt/ubuntu-oracular-arm64-server-20240503.img (UUID 7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9)... 419s nova boot failed (attempt #1): 419s DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 419s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 419s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 419s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 419s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 419s DEBUG (session:517) REQ: curl -g -i -X GET https://keystone.ps6.canonical.com:5000/v3 -H "Accept: application/json" -H "User-Agent: nova keystoneauth1/4.0.0 python-requests/2.22.0 CPython/3.8.10" 419s DEBUG (connectionpool:962) Starting new HTTPS connection (1): keystone.ps6.canonical.com:5000 419s DEBUG (connectionpool:429) https://keystone.ps6.canonical.com:5000 "GET /v3 HTTP/1.1" 200 267 419s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 267 Content-Type: application/json Date: Sat, 04 May 2024 17:45:00 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-a6338d7b-1ae2-4052-b778-b513e5914586 419s DEBUG (session:580) RESP BODY: {"version": {"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "https://keystone.ps6.canonical.com:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}} 419s DEBUG (session:946) GET call to https://keystone.ps6.canonical.com:5000/v3 used request id req-a6338d7b-1ae2-4052-b778-b513e5914586 419s DEBUG (base:182) Making authentication request to https://keystone.ps6.canonical.com:5000/v3/auth/tokens 419s DEBUG (connectionpool:429) https://keystone.ps6.canonical.com:5000 "POST /v3/auth/tokens HTTP/1.1" 201 12445 419s DEBUG (base:187) {"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "369f50a481564a2c9433776a4ebd224d", "name": "prod-proposed-migration-arm64", "password_expires_at": null}, "audit_ids": ["vr-xqmUGQoGv8H34EcGf-A"], "expires_at": "2024-05-05T17:45:01.000000Z", "issued_at": "2024-05-04T17:45:01.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "bd8b3df3f03d43a0a9303b7c0434fdab", "name": "prod-proposed-migration-arm64_project"}, "is_domain": false, "roles": [{"id": "86bf3043974746c2bf52c2a9f362f986", "name": "reader"}, {"id": "15cf997650e345b7b21c02b5cdb7d84a", "name": "member"}], "is_admin_project": false, "catalog": [{"endpoints": [{"id": "213cdf38198c4581bd5b7d6d0836923b", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/", "region": "prodstack6"}, {"id": "67061eee26944a1a8009f9d07be19738", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/", "region": "prodstack6"}, {"id": "fc88c52c749a47d08a24a2c7efbde01b", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/", "region": "prodstack6"}], "id": "06e4714942634054bf9aa11715312b4e", "type": "s3", "name": "s3"}, {"endpoints": [{"id": "8aa44c94b63746bd9b37f1008ad55fa8", "interface": "admin", "region_id": "prodstack6", "url": "https://aodh-admin.ps6.canonical.com:8042", "region": "prodstack6"}, {"id": "92cf08a80a0242ebbca8ec893cf332b1", "interface": "public", "region_id": "prodstack6", "url": "https://aodh.ps6.canonical.com:8042", "region": "prodstack6"}, {"id": "d8139c6e11ae4edcb78981c12bd53212", "interface": "internal", "region_id": "prodstack6", "url": "https://aodh-internal.ps6.canonical.com:8042", "region": "prodstack6"}], "id": "2fb939b0b969435c8f0c5fa4edb4de94", "type": "alarming", "name": "aodh"}, {"endpoints": [{"id": "a49fcc80e658411885f88cdd8432a571", "interface": "internal", "region_id": "prodstack6", "url": "https://heat-internal.ps6.canonical.com:8000/v1", "region": "prodstack6"}, {"id": "b23866fddba8415885b06c064c34b94b", "interface": "public", "region_id": "prodstack6", "url": "https://heat.ps6.canonical.com:8000/v1", "region": "prodstack6"}, {"id": "f84ae55197f94b8392a678f35c82ca26", "interface": "admin", "region_id": "prodstack6", "url": "https://heat-admin.ps6.canonical.com:8000/v1", "region": "prodstack6"}], "id": "3d4b59f7dab644b2b527e8e96b697545", "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"id": "2e0143334c6241169f45f1c11970c6bc", "interface": "public", "region_id": "prodstack6", "url": "https://heat.ps6.canonical.com:8004/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "5e19c32243c04a3faf1e5f9ab900c260", "interface": "internal", "region_id": "prodstack6", "url": "https://heat-internal.ps6.canonical.com:8004/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "b3fc5c88ec8543a691fec75726b86967", "interface": "admin", "region_id": "prodstack6", "url": "https://heat-admin.ps6.canonical.com:8004/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}], "id": "43b926205044476b8093b18d8ce0a9e4", "type": "orchestration", "name": "heat"}, {"endpoints": [{"id": "a47569b96e5b4146a312e4673504557c", "interface": "public", "region_id": "prodstack6", "url": "https://glance.ps6.canonical.com:9292", "region": "prodstack6"}, {"id": "bba35c4ab04f4114a2a34e65568537bd", "interface": "internal", "region_id": "prodstack6", "url": "https://glance-internal.ps6.canonical.com:9292", "region": "prodstack6"}, {"id": "ef769f1117c74a62a279131486c89628", "interface": "admin", "region_id": "prodstack6", "url": "https://glance-admin.ps6.canonical.com:9292", "region": "prodstack6"}], "id": "49de724549524bd78e9cd46a4477226f", "type": "image", "name": "glance"}, {"endpoints": [{"id": "a1a41e9a1e2d42e5b6cd5380cd1e21bf", "interface": "admin", "region_id": "prodstack6", "url": "https://cinder-admin.ps6.canonical.com:8776/v3/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "d2309a99724b4111827482c68a832c0c", "interface": "public", "region_id": "prodstack6", "url": "https://cinder.ps6.canonical.com:8776/v3/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "f8a02e3949ff42afa772eb5e74dbef9f", "interface": "internal", "region_id": "prodstack6", "url": "https://cinder-internal.ps6.canonical.com:8776/v3/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}], "id": "5bf6578a631349e3af4bf36d7adb18e1", "type": "volumev3", "name": "cinderv3"}, {"endpoints": [{"id": "01d84128f36444e9b01549b86bd69116", "interface": "admin", "region_id": "prodstack6", "url": "https://barbican-admin.ps6.canonical.com:9312", "region": "prodstack6"}, {"id": "0ce4a8777e0b40a88f7fc0f77e34a605", "interface": "public", "region_id": "prodstack6", "url": "https://barbican.ps6.canonical.com:9311", "region": "prodstack6"}, {"id": "f507ba49e4a7435cb330234217c92449", "interface": "internal", "region_id": "prodstack6", "url": "https://barbican-internal.ps6.canonical.com:9311", "region": "prodstack6"}], "id": "62cb1c3d9f6c45979c13516a6b3ff114", "type": "key-manager", "name": "barbican"}, {"endpoints": [{"id": "3cb6121bd8f14da8aa2fba7be823a2b4", "interface": "internal", "region_id": "prodstack6", "url": "https://neutron-internal.ps6.canonical.com:9696", "region": "prodstack6"}, {"id": "46ba11d133fe4e8f9e8f9097ba737682", "interface": "admin", "region_id": "prodstack6", "url": "https://neutron-admin.ps6.canonical.com:9696", "region": "prodstack6"}, {"id": "d872eb6aa23d40009165aa3dcdce3948", "interface": "public", "region_id": "prodstack6", "url": "https://neutron.ps6.canonical.com:9696", "region": "prodstack6"}], "id": "759cb6fdfbc146dd8b9d1ba444c4b9db", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "4349d565f72446da9699269f85df5e8b", "interface": "internal", "region_id": "prodstack6", "url": "https://manila-internal.ps6.canonical.com:8786/v2/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "a483dcc58f5e415e9ec739c94474e609", "interface": "public", "region_id": "prodstack6", "url": "https://manila.ps6.canonical.com:8786/v2/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "c1f14236723e42878562d8dd63d5a6a0", "interface": "admin", "region_id": "prodstack6", "url": "https://manila-admin.ps6.canonical.com:8786/v2/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}], "id": "93fc4008035946deb1f433c2dd905a5d", "type": "sharev2", "name": "manilav2"}, {"endpoints": [{"id": "0fa148793c7249c8b187b6b4ff425731", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/swift/v1/AUTH_e4b04ca58d734ed0aa29e306adad4f79/simplestreams/data", "region": "prodstack6"}, {"id": "555ade266a6b4bcc81b6e5abf607aec5", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/swift/v1/AUTH_e4b04ca58d734ed0aa29e306adad4f79/simplestreams/data", "region": "prodstack6"}, {"id": "7dad1a7b1552465686424fc014463173", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/swift/simplestreams/data", "region": "prodstack6"}], "id": "977dd359af1a4fcc91a9daf4dc33b0f3", "type": "product-streams", "name": "image-stream"}, {"endpoints": [{"id": "12d30eabcdec4831bd15273d55b1cbab", "interface": "internal", "region_id": "prodstack6", "url": "https://manila-internal.ps6.canonical.com:8786/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "29d35b2b483346479f1ff1a13604d50e", "interface": "admin", "region_id": "prodstack6", "url": "https://manila-admin.ps6.canonical.com:8786/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "4aa1422b8f5945d8aed9ba6a8d670e5c", "interface": "public", "region_id": "prodstack6", "url": "https://manila.ps6.canonical.com:8786/v1/bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}], "id": "ac5e4f28fa794cde99f1d7ffc1b664e5", "type": "share", "name": "manila"}, {"endpoints": [{"id": "c7db93d54a684d8caeae1d9e18a59118", "interface": "admin", "region_id": "prodstack6", "url": "https://nova-admin.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}, {"id": "dd7a796f401b477f9f1b5bbc05747d8d", "interface": "public", "region_id": "prodstack6", "url": "https://nova.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}, {"id": "e7ecb038d830462ea67b0b463af5e013", "interface": "internal", "region_id": "prodstack6", "url": "https://nova-internal.ps6.canonical.com:8774/v2.1", "region": "prodstack6"}], "id": "b4519af08e174d4a8333a2d14ac3ba3b", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "02ef5b6154934ffd97d8b5b8e4d70d2a", "interface": "internal", "region_id": "prodstack6", "url": "https://radosgw-internal.ps6.canonical.com:443/swift/v1/AUTH_bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "2741abe526e94842a4fa801423ba1ef0", "interface": "public", "region_id": "prodstack6", "url": "https://radosgw.ps6.canonical.com:443/swift/v1/AUTH_bd8b3df3f03d43a0a9303b7c0434fdab", "region": "prodstack6"}, {"id": "3742f9406c604516933d6fd8c29e0880", "interface": "admin", "region_id": "prodstack6", "url": "https://radosgw-admin.ps6.canonical.com:443/swift", "region": "prodstack6"}], "id": "c7f07a7b3b3c408c96200dfd1d1a0f6f", "type": "object-store", "name": "swift"}, {"endpoints": [{"id": "06d4ed6c160a43f2b7fa7f80ad1dc709", "interface": "internal", "region_id": "prodstack6", "url": "https://designate-internal.ps6.canonical.com:9001", "region": "prodstack6"}, {"id": "1e240624a50c4ca0aaa6ef63cbc94f1b", "interface": "admin", "region_id": "prodstack6", "url": "https://designate-admin.ps6.canonical.com:9001", "region": "prodstack6"}, {"id": "f94d7d17997a43fd9c63b34c43301c6e", "interface": "public", "region_id": "prodstack6", "url": "https://designate.ps6.canonical.com:9001", "region": "prodstack6"}], "id": "cf82013d63844fedbe96bcacb6bd1fef", "type": "dns", "name": "designate"}, {"endpoints": [{"id": "4a688340be464710bfa60bf3f88f41c4", "interface": "admin", "region_id": "prodstack6", "url": "https://gnocchi-admin.ps6.canonical.com:8041", "region": "prodstack6"}, {"id": "a5a95506c96d4716adb4efc3ac9051be", "interface": "public", "region_id": "prodstack6", "url": "https://gnocchi.ps6.canonical.com:8041", "region": "prodstack6"}, {"id": "eebc17a086834f8fa8bb6b35c8061a8c", "interface": "internal", "region_id": "prodstack6", "url": "https://gnocchi-internal.ps6.canonical.com:8041", "region": "prodstack6"}], "id": "d10589e854a446a5b852593f33f170a7", "type": "metric", "name": "gnocchi"}, {"endpoints": [{"id": "08f66df28d0f47f3bec12f29e06d85ac", "interface": "admin", "region_id": "prodstack6", "url": "https://keystone-admin.ps6.canonical.com:35357/v3", "region": "prodstack6"}, {"id": "46d270b45ceb42db902f4d241afa6a70", "interface": "public", "region_id": "prodstack6", "url": "https://keystone.ps6.canonical.com:5000/v3", "region": "prodstack6"}, {"id": "a4addee11d9349cfa46ec6660dbad947", "interface": "internal", "region_id": "prodstack6", "url": "https://keystone-internal.ps6.canonical.com:5000/v3", "region": "prodstack6"}], "id": "deb38a775a9b4e87a8de9e3eed779882", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "18b4af5f40664babb94e884c6a53ccf3", "interface": "admin", "region_id": "prodstack6", "url": "https://octavia-admin.ps6.canonical.com:9876", "region": "prodstack6"}, {"id": "2b6f7ba7f9944ee1aebd6dccc5223b2d", "interface": "internal", "region_id": "prodstack6", "url": "https://octavia-internal.ps6.canonical.com:9876", "region": "prodstack6"}, {"id": "5e3012e9c79e4890be4d964b6208f5c6", "interface": "public", "region_id": "prodstack6", "url": "https://octavia.ps6.canonical.com:9876", "region": "prodstack6"}], "id": "e00337be20d54948b66a1c3109b885c6", "type": "load-balancer", "name": "octavia"}, {"endpoints": [{"id": "2d2942b35f3041389ad810f679d02f22", "interface": "public", "region_id": "prodstack6", "url": "https://placement.ps6.canonical.com:8778", "region": "prodstack6"}, {"id": "2e3beaac7ac14284b72e2592820ad725", "interface": "admin", "region_id": "prodstack6", "url": "https://placement-admin.ps6.canonical.com:8778", "region": "prodstack6"}, {"id": "91060f6df9ae444f81808adf40540d94", "interface": "internal", "region_id": "prodstack6", "url": "https://placement-internal.ps6.canonical.com:8778", "region": "prodstack6"}], "id": "edc6e37f154f4c0ab3dd4d52b82bf873", "type": "placement", "name": "placement"}]}} 419s REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" 419s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" 419s DEBUG (connectionpool:962) Starting new HTTPS connection (1): nova.ps6.canonical.com:8774 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1 HTTP/1.1" 302 0 419s RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps6.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-1180f850-8785-4079-aa13-5b187444e0a4 x-openstack-request-id: req-1180f850-8785-4079-aa13-5b187444e0a4 419s DEBUG (session:548) RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps6.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-1180f850-8785-4079-aa13-5b187444e0a4 x-openstack-request-id: req-1180f850-8785-4079-aa13-5b187444e0a4 419s RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 419s DEBUG (session:580) RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/ HTTP/1.1" 200 397 419s RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-1915af78-6390-4e00-aa2f-f8e2241f6f03 x-openstack-request-id: req-1915af78-6390-4e00-aa2f-f8e2241f6f03 419s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-1915af78-6390-4e00-aa2f-f8e2241f6f03 x-openstack-request-id: req-1915af78-6390-4e00-aa2f-f8e2241f6f03 419s RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.90", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 419s DEBUG (session:580) RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.90", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 419s GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/ used request id req-1915af78-6390-4e00-aa2f-f8e2241f6f03 419s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/ used request id req-1915af78-6390-4e00-aa2f-f8e2241f6f03 419s DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 419s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 419s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 419s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 419s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 419s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 419s DEBUG (session:517) REQ: curl -g -i -X GET https://glance.ps6.canonical.com:9292/v2/images/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" -H "X-OpenStack-Nova-API-Version: 2.87" 419s DEBUG (connectionpool:962) Starting new HTTPS connection (1): glance.ps6.canonical.com:9292 419s DEBUG (connectionpool:429) https://glance.ps6.canonical.com:9292 "GET /v2/images/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9 HTTP/1.1" 200 1938 419s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 1938 Content-Type: application/json Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) X-Openstack-Request-Id: req-4968327a-f9ad-4acc-8f0b-6d98228126f0 419s DEBUG (session:580) RESP BODY: {"base_image_ref": "09c3944a-cd0d-425d-b22f-cde7ec51d155", "boot_roles": "member,reader", "hw_cdrom_bus": "scsi", "hw_disk_bus": "virtio", "hw_machine_type": "virt", "hw_video_model": "virtio", "hw_vif_model": "virtio", "image_location": "snapshot", "image_state": "available", "image_type": "snapshot", "instance_uuid": "4fa9dae9-9d3c-4d0c-a9be-31d72503b082", "owner_id": "bd8b3df3f03d43a0a9303b7c0434fdab", "owner_project_name": "prod-proposed-migration-arm64_project", "owner_specified.openstack.md5": "087a26f2222dab8516c553374a9d1b4d", "owner_specified.openstack.object": "images/adt/ubuntu-noble-arm64-server-20240201.img", "owner_specified.openstack.sha256": "095b278df09de76f01843de514daf3f8eb0a0cc67fee4b3491161913153619db", "owner_user_name": "prod-proposed-migration-arm64", "user_id": "369f50a481564a2c9433776a4ebd224d", "name": "adt/ubuntu-oracular-arm64-server-20240503.img", "disk_format": "qcow2", "container_format": "bare", "visibility": "private", "size": 2600599552, "virtual_size": 21474836480, "status": "active", "checksum": "1c71f6469d5119dc63defd28fe163cbb", "protected": false, "min_ram": 0, "min_disk": 20, "owner": "bd8b3df3f03d43a0a9303b7c0434fdab", "os_hidden": false, "os_hash_algo": "sha512", "os_hash_value": "a3b2aeed7d99a77355a1ce8ddd79705117ee6d3d99c255a060ed81f960688985ad099c254c952a165d3abece13a568eb7718e535754570e913f9020fcf72bd58", "id": "7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9", "created_at": "2024-05-03T16:25:40Z", "updated_at": "2024-05-03T16:26:18Z", "locations": [{"url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9/snap", "metadata": {"store": "ceph"}}], "direct_url": "rbd://eea9d068-c18c-11ed-8dc0-013aacb71b80/glance/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9/snap", "tags": [], "self": "/v2/images/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9", "file": "/v2/images/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9/file", "schema": "/v2/schemas/image", "stores": "ceph"} 419s DEBUG (session:936) GET call to image for https://glance.ps6.canonical.com:9292/v2/images/7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9 used request id req-4968327a-f9ad-4acc-8f0b-6d98228126f0 419s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors/autopkgtest -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" -H "X-OpenStack-Nova-API-Version: 2.87" 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors/autopkgtest HTTP/1.1" 404 84 419s DEBUG (session:548) RESP: [404] Connection: Keep-Alive Content-Length: 84 Content-Type: application/json; charset=UTF-8 Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=998 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-0058f310-2939-4b1c-a365-29f978154d08 x-openstack-request-id: req-0058f310-2939-4b1c-a365-29f978154d08 419s DEBUG (session:580) RESP BODY: {"itemNotFound": {"code": 404, "message": "Flavor autopkgtest could not be found."}} 419s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors/autopkgtest used request id req-0058f310-2939-4b1c-a365-29f978154d08 419s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors?is_public=None -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" -H "X-OpenStack-Nova-API-Version: 2.87" 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors?is_public=None HTTP/1.1" 200 1739 419s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 1739 Content-Type: application/json Date: Sat, 04 May 2024 17:45:01 GMT Keep-Alive: timeout=75, max=997 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-ec3010a2-eed1-47e3-90ed-3eb57d287152 x-openstack-request-id: req-ec3010a2-eed1-47e3-90ed-3eb57d287152 419s DEBUG (session:580) RESP BODY: {"flavors": [{"id": "062428d9-35a1-461f-a33a-38436ed516b4", "name": "autopkgtest-cpu8-ram16-disk160-arm64", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/062428d9-35a1-461f-a33a-38436ed516b4"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/062428d9-35a1-461f-a33a-38436ed516b4"}], "description": null}, {"id": "8d27c5f0-65c7-4018-b3f7-50463875ab09", "name": "autopkgtest", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09"}], "description": null}, {"id": "8ebe34fb-1390-4cc7-bbe5-0d38c80f2fb4", "name": "autopkgtest-cpu2-ram4-disk20-arm64", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/8ebe34fb-1390-4cc7-bbe5-0d38c80f2fb4"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/8ebe34fb-1390-4cc7-bbe5-0d38c80f2fb4"}], "description": null}, {"id": "a8256f9e-53ee-4584-ad7f-60e088825b83", "name": "autopkgtest-big", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/a8256f9e-53ee-4584-ad7f-60e088825b83"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/a8256f9e-53ee-4584-ad7f-60e088825b83"}], "description": null}, {"id": "cfc564ac-9f6e-4477-91c4-a89ccb4b744e", "name": "autopkgtest-cpu4-ram8-disk100-arm64", "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/cfc564ac-9f6e-4477-91c4-a89ccb4b744e"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/cfc564ac-9f6e-4477-91c4-a89ccb4b744e"}], "description": null}]} 419s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors?is_public=None used request id req-ec3010a2-eed1-47e3-90ed-3eb57d287152 419s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps6.canonical.com:8774/v2.1/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" -H "X-OpenStack-Nova-API-Version: 2.87" 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "GET /v2.1/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09 HTTP/1.1" 200 613 419s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 613 Content-Type: application/json Date: Sat, 04 May 2024 17:45:02 GMT Keep-Alive: timeout=75, max=996 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-ea515e8b-9ca3-4803-a1b5-b2d940fe614b x-openstack-request-id: req-ea515e8b-9ca3-4803-a1b5-b2d940fe614b 419s DEBUG (session:580) RESP BODY: {"flavor": {"id": "8d27c5f0-65c7-4018-b3f7-50463875ab09", "name": "autopkgtest", "ram": 4096, "disk": 20, "swap": 0, "OS-FLV-EXT-DATA:ephemeral": 0, "OS-FLV-DISABLED:disabled": false, "vcpus": 2, "os-flavor-access:is_public": false, "rxtx_factor": 1.0, "links": [{"rel": "self", "href": "https://nova.ps6.canonical.com:8774/v2.1/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09"}, {"rel": "bookmark", "href": "https://nova.ps6.canonical.com:8774/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09"}], "description": null, "extra_specs": {"aggregate_instance_extra_specs:commit": "builder-arm64", "hw_rng:allowed": "True"}}} 419s DEBUG (session:936) GET call to compute for https://nova.ps6.canonical.com:8774/v2.1/flavors/8d27c5f0-65c7-4018-b3f7-50463875ab09 used request id req-ea515e8b-9ca3-4803-a1b5-b2d940fe614b 419s DEBUG (session:517) REQ: curl -g -i -X POST https://nova.ps6.canonical.com:8774/v2.1/servers -H "Accept: application/json" -H "Content-Type: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}29f03315458cc3edb3968dfe61bae47866d94af38930fe31dadaa079e9c1b8ba" -H "X-OpenStack-Nova-API-Version: 2.87" -d '{"server": {"name": "adt-oracular-arm64-translate-toolkit-20240504-174352-juju-7f2275-prod-proposed-migration-environment-3-ecf58d09-a840-4a25-a8cc-99073a66dd5e", "imageRef": "7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9", "flavorRef": "8d27c5f0-65c7-4018-b3f7-50463875ab09", "user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJ2h0dHBfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4naHR0cHNfcHJveHk9aHR0cDovL3NxdWlkLmludGVybmFsOjMxMjgnXG4nbm9fcHJveHk9MTI3LjAuMC4xLDEyNy4wLjEuMSxsb2dpbi51YnVudHUuY29tLGxvY2FsaG9zdCxsb2NhbGRvbWFpbixub3ZhbG9jYWwsaW50ZXJuYWwsYXJjaGl2ZS51YnVudHUuY29tLHBvcnRzLnVidW50dS5jb20sc2VjdXJpdHkudWJ1bnR1LmNvbSxkZGVicy51YnVudHUuY29tLGNoYW5nZWxvZ3MudWJ1bnR1LmNvbSxrZXlzZXJ2ZXIudWJ1bnR1LmNvbSxsYXVuY2hwYWRsaWJyYXJpYW4ubmV0LGxhdW5jaHBhZGNvbnRlbnQubmV0LGxhdW5jaHBhZC5uZXQsMTAuMjQuMC4wLzI0LGtleXN0b25lLnBzNS5jYW5vbmljYWwuY29tLG9iamVjdHN0b3JhZ2UucHJvZHN0YWNrNS5jYW5vbmljYWwuY29tJ1xuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-3", "min_count": 1, "max_count": 1, "security_groups": [{"name": "autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos03-arm64-23.secgroup"}], "networks": [{"uuid": "6ea4839c-9760-4b54-ab7d-70a6312667d1"}]}}' 419s DEBUG (connectionpool:429) https://nova.ps6.canonical.com:8774 "POST /v2.1/servers HTTP/1.1" 403 115 419s DEBUG (session:548) RESP: [403] Connection: Keep-Alive Content-Length: 115 Content-Type: application/json; charset=UTF-8 Date: Sat, 04 May 2024 17:45:02 GMT Keep-Alive: timeout=75, max=995 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-5e665687-9a60-403e-b275-4282f0393562 x-openstack-request-id: req-5e665687-9a60-403e-b275-4282f0393562 419s DEBUG (session:580) RESP BODY: {"forbidden": {"code": 403, "message": "Quota exceeded for cores: Requested 2, but already used 210 of 210 cores"}} 419s DEBUG (session:936) POST call to compute for https://nova.ps6.canonical.com:8774/v2.1/servers used request id req-5e665687-9a60-403e-b275-4282f0393562 419s DEBUG (shell:822) Quota exceeded for cores: Requested 2, but already used 210 of 210 cores (HTTP 403) (Request-ID: req-5e665687-9a60-403e-b275-4282f0393562) 419s Traceback (most recent call last): 419s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 820, in main 419s OpenStackComputeShell().main(argv) 419s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 742, in main 419s args.func(self.cs, args) 419s File "/usr/lib/python3/dist-packages/novaclient/v2/shell.py", line 971, in do_boot 419s server = cs.servers.create(*boot_args, **boot_kwargs) 419s File "/usr/lib/python3/dist-packages/novaclient/v2/servers.py", line 1477, in create 419s return self._boot(response_key, *boot_args, **boot_kwargs) 419s File "/usr/lib/python3/dist-packages/novaclient/v2/servers.py", line 836, in _boot 419s return self._create('/servers', body, response_key, 419s File "/usr/lib/python3/dist-packages/novaclient/base.py", line 363, in _create 419s resp, body = self.api.client.post(url, body=body) 419s File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 392, in post 419s return self.request(url, 'POST', **kwargs) 419s File "/usr/lib/python3/dist-packages/novaclient/client.py", line 78, in request 419s raise exceptions.from_response(resp, body, url, method) 419s novaclient.exceptions.Forbidden: Quota exceeded for cores: Requested 2, but already used 210 of 210 cores (HTTP 403) (Request-ID: req-5e665687-9a60-403e-b275-4282f0393562) 419s ERROR (Forbidden): Quota exceeded for cores: Requested 2, but already used 210 of 210 cores (HTTP 403) (Request-ID: req-5e665687-9a60-403e-b275-4282f0393562) 422s autopkgtest [17:50:54]: testbed dpkg architecture: arm64 422s autopkgtest [17:50:54]: testbed apt version: 2.7.14build2 422s autopkgtest [17:50:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 422s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 423s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [141 kB] 423s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 423s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1752 kB] 423s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 423s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [212 kB] 423s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [13.1 kB] 423s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [1315 kB] 423s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [21.5 kB] 423s Fetched 3545 kB in 1s (3212 kB/s) 423s Reading package lists... 426s Reading package lists... 426s Building dependency tree... 426s Reading state information... 427s Calculating upgrade... 427s The following packages will be upgraded: 427s cloud-init hwdata libaio1t64 pci.ids 428s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 428s Need to get 918 kB of archives. 428s After this operation, 69.6 kB of additional disk space will be used. 428s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 pci.ids all 0.0~2024.04.20-1 [276 kB] 428s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 hwdata all 0.380-1 [29.2 kB] 428s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libaio1t64 arm64 0.3.113-8 [7310 B] 428s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 cloud-init all 24.2~2g51c6569f-0ubuntu1 [606 kB] 428s Preconfiguring packages ... 429s Fetched 918 kB in 1s (1580 kB/s) 429s (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 ... 77723 files and directories currently installed.) 429s Preparing to unpack .../pci.ids_0.0~2024.04.20-1_all.deb ... 429s Unpacking pci.ids (0.0~2024.04.20-1) over (0.0~2024.03.31-1) ... 429s Preparing to unpack .../hwdata_0.380-1_all.deb ... 429s Unpacking hwdata (0.380-1) over (0.379-1) ... 429s Preparing to unpack .../libaio1t64_0.3.113-8_arm64.deb ... 429s Unpacking libaio1t64:arm64 (0.3.113-8) over (0.3.113-6build1) ... 429s Preparing to unpack .../cloud-init_24.2~2g51c6569f-0ubuntu1_all.deb ... 429s Unpacking cloud-init (24.2~2g51c6569f-0ubuntu1) over (24.1.3-0ubuntu3) ... 430s Setting up pci.ids (0.0~2024.04.20-1) ... 430s Setting up cloud-init (24.2~2g51c6569f-0ubuntu1) ... 430s Installing new version of config file /etc/cloud/templates/sources.list.ubuntu.deb822.tmpl ... 431s Setting up hwdata (0.380-1) ... 431s Setting up libaio1t64:arm64 (0.3.113-8) ... 431s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 431s Processing triggers for man-db (2.12.0-4build2) ... 432s Processing triggers for libc-bin (2.39-0ubuntu8) ... 432s Reading package lists... 432s Building dependency tree... 432s Reading state information... 433s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 433s Get:1 http://ftpmaster.internal/ubuntu oracular InRelease [64.6 kB] 434s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 434s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 434s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 434s Get:5 http://ftpmaster.internal/ubuntu oracular/universe Sources [19.9 MB] 435s Get:6 http://ftpmaster.internal/ubuntu oracular/universe arm64 Packages [14.9 MB] 435s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1762 kB] 435s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [1311 kB] 438s Fetched 38.0 MB in 5s (8135 kB/s) 439s Reading package lists... 439s Reading package lists... 440s Building dependency tree... 440s Reading state information... 440s Calculating upgrade... 441s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 441s Reading package lists... 441s Building dependency tree... 441s Reading state information... 442s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 443s autopkgtest [17:51:15]: rebooting testbed after setup commands that affected boot 447s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 472s autopkgtest [17:51:44]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 474s autopkgtest [17:51:46]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 478s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 478s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 478s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 478s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 478s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 478s gpgv: Can't check signature: No public key 478s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 478s autopkgtest [17:51:50]: testing package translate-toolkit version 3.12.2-1ubuntu1 479s autopkgtest [17:51:51]: build not needed 479s autopkgtest [17:51:51]: test translate-toolkit: preparing testbed 481s Reading package lists... 481s Building dependency tree... 481s Reading state information... 482s Starting pkgProblemResolver with broken count: 0 482s Starting 2 pkgProblemResolver with broken count: 0 482s Done 483s The following additional packages will be installed: 483s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 483s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 483s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 483s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 483s python3-diff-match-patch python3-enchant python3-iniparse 483s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 483s python3-more-itertools python3-phply python3-ply python3-pycountry 483s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 483s python3-simplejson python3-soupsieve python3-translate python3-vobject 483s python3-xapian subversion translate-toolkit 483s Suggested packages: 483s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 483s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 483s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 483s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 483s libapache2-mod-svn subversion-tools 483s Recommended packages: 483s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 483s python3-cssselect python3-html5lib translate-toolkit-doc 483s The following NEW packages will be installed: 483s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 483s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 483s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 483s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 483s python3-diff-match-patch python3-enchant python3-iniparse 483s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 483s python3-more-itertools python3-phply python3-ply python3-pycountry 483s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 483s python3-simplejson python3-soupsieve python3-translate python3-vobject 483s python3-xapian subversion translate-toolkit 483s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 483s Need to get 9954 kB/9955 kB of archives. 483s After this operation, 47.3 MB of additional disk space will be used. 483s Get:1 /tmp/autopkgtest.hqz7bz/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [868 B] 483s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 483s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 484s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14-20240412-0ubuntu1 [144 kB] 484s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.21-14ubuntu2 [845 kB] 484s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 484s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.1build2 [105 kB] 484s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-1.1ubuntu7 [93.9 kB] 484s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 484s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 484s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 484s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 484s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-1build2 [48.6 kB] 484s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 484s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-1build4 [1339 kB] 484s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 484s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 484s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.11-2 [221 kB] 484s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 484s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 484s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 484s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 484s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 484s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 484s Get:25 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 484s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 484s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-1 [990 kB] 484s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-2 [108 kB] 484s Get:29 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.1-1 [1179 kB] 484s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 484s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 484s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 484s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 484s Get:34 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 484s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 484s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 484s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 484s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-xapian arm64 1.4.25-1 [420 kB] 484s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-1build4 [906 kB] 484s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 484s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 484s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 485s Preconfiguring packages ... 485s Fetched 9954 kB in 1s (9690 kB/s) 485s Selecting previously unselected package emacsen-common. 485s (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 ... 77730 files and directories currently installed.) 485s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 485s Unpacking emacsen-common (3.0.5) ... 485s Selecting previously unselected package dictionaries-common. 485s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 485s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 485s Unpacking dictionaries-common (1.29.7) ... 485s Selecting previously unselected package libgomp1:arm64. 485s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_arm64.deb ... 485s Unpacking libgomp1:arm64 (14-20240412-0ubuntu1) ... 485s Selecting previously unselected package gettext. 486s Preparing to unpack .../03-gettext_0.21-14ubuntu2_arm64.deb ... 486s Unpacking gettext (0.21-14ubuntu2) ... 486s Selecting previously unselected package hunspell-en-us. 486s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 486s Unpacking hunspell-en-us (1:2020.12.07-2) ... 486s Selecting previously unselected package libapr1t64:arm64. 486s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_arm64.deb ... 486s Unpacking libapr1t64:arm64 (1.7.2-3.1build2) ... 486s Selecting previously unselected package libaprutil1t64:arm64. 486s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_arm64.deb ... 486s Unpacking libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 486s Selecting previously unselected package libaspell15:arm64. 486s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 486s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 486s Selecting previously unselected package libhunspell-1.7-0:arm64. 486s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 486s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 486s Selecting previously unselected package libenchant-2-2:arm64. 486s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 486s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 486s Selecting previously unselected package libexttextcat-data. 486s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 486s Unpacking libexttextcat-data (3.4.7-1build1) ... 486s Selecting previously unselected package libserf-1-1:arm64. 486s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_arm64.deb ... 486s Unpacking libserf-1-1:arm64 (1.3.10-1build2) ... 486s Selecting previously unselected package libutf8proc3:arm64. 486s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 486s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 486s Selecting previously unselected package libsvn1:arm64. 486s Preparing to unpack .../13-libsvn1_1.14.3-1build4_arm64.deb ... 486s Unpacking libsvn1:arm64 (1.14.3-1build4) ... 486s Selecting previously unselected package libxapian30:arm64. 486s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 486s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 486s Selecting previously unselected package libxslt1.1:arm64. 486s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 486s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 486s Selecting previously unselected package python3-aeidon. 486s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 486s Unpacking python3-aeidon (1.11-2) ... 487s Selecting previously unselected package python3-soupsieve. 487s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 487s Unpacking python3-soupsieve (2.5-1) ... 487s Selecting previously unselected package python3-bs4. 487s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 487s Unpacking python3-bs4 (4.12.3-1) ... 487s Selecting previously unselected package python3-more-itertools. 487s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 487s Unpacking python3-more-itertools (10.2.0-1) ... 487s Selecting previously unselected package python3-jaraco.functools. 487s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 487s Unpacking python3-jaraco.functools (4.0.0-1) ... 487s Selecting previously unselected package python3-cheroot. 487s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 487s Unpacking python3-cheroot (10.0.0+ds1-2) ... 487s Selecting previously unselected package python3-dateutil. 487s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 487s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 487s Selecting previously unselected package python3-diff-match-patch. 487s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 487s Unpacking python3-diff-match-patch (20230430-1) ... 487s Selecting previously unselected package python3-enchant. 487s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 487s Unpacking python3-enchant (3.2.2-1) ... 487s Selecting previously unselected package python3-rapidfuzz. 487s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-1_arm64.deb ... 487s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 487s Selecting previously unselected package python3-levenshtein. 487s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_arm64.deb ... 487s Unpacking python3-levenshtein (0.25.1-2) ... 487s Selecting previously unselected package python3-lxml:arm64. 487s Preparing to unpack .../27-python3-lxml_5.2.1-1_arm64.deb ... 487s Unpacking python3-lxml:arm64 (5.2.1-1) ... 487s Selecting previously unselected package python3-mistletoe. 487s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 487s Unpacking python3-mistletoe (1.3.0-1) ... 488s Selecting previously unselected package python3-ply. 488s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 488s Unpacking python3-ply (3.11-6) ... 488s Selecting previously unselected package python3-phply. 488s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 488s Unpacking python3-phply (1.2.6-1) ... 488s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 488s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 488s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 488s Selecting previously unselected package python3-ruamel.yaml. 488s Preparing to unpack .../32-python3-ruamel.yaml_0.17.21-1_all.deb ... 488s Unpacking python3-ruamel.yaml (0.17.21-1) ... 488s Selecting previously unselected package python3-simplejson. 488s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_arm64.deb ... 488s Unpacking python3-simplejson (3.19.2-1build2) ... 488s Selecting previously unselected package python3-translate. 488s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 488s Unpacking python3-translate (3.12.2-1ubuntu1) ... 488s Selecting previously unselected package python3-vobject. 488s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 488s Unpacking python3-vobject (0.9.6.1-2) ... 488s Selecting previously unselected package python3-xapian. 488s Preparing to unpack .../36-python3-xapian_1.4.25-1_arm64.deb ... 488s Unpacking python3-xapian (1.4.25-1) ... 489s Selecting previously unselected package subversion. 489s Preparing to unpack .../37-subversion_1.14.3-1build4_arm64.deb ... 489s Unpacking subversion (1.14.3-1build4) ... 489s Selecting previously unselected package translate-toolkit. 489s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 489s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 489s Selecting previously unselected package python3-iniparse. 489s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 489s Unpacking python3-iniparse (0.5-2) ... 489s Selecting previously unselected package python3-pycountry. 489s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 489s Unpacking python3-pycountry (23.12.11+ds1-2) ... 489s Selecting previously unselected package autopkgtest-satdep. 489s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 489s Unpacking autopkgtest-satdep (0) ... 489s Setting up python3-more-itertools (10.2.0-1) ... 489s Setting up libxapian30:arm64 (1.4.22-1build1) ... 489s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 489s Setting up python3-diff-match-patch (20230430-1) ... 490s Setting up python3-jaraco.functools (4.0.0-1) ... 490s Setting up python3-aeidon (1.11-2) ... 490s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 490s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 490s Setting up python3-ply (3.11-6) ... 490s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 490s Setting up libgomp1:arm64 (14-20240412-0ubuntu1) ... 490s Setting up python3-simplejson (3.19.2-1build2) ... 490s Setting up emacsen-common (3.0.5) ... 491s Setting up python3-cheroot (10.0.0+ds1-2) ... 491s Setting up python3-pycountry (23.12.11+ds1-2) ... 491s Setting up python3-xapian (1.4.25-1) ... 491s Setting up python3-ruamel.yaml (0.17.21-1) ... 492s Setting up python3-mistletoe (1.3.0-1) ... 492s Setting up libexttextcat-data (3.4.7-1build1) ... 492s Setting up libapr1t64:arm64 (1.7.2-3.1build2) ... 492s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 492s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 492s Setting up python3-levenshtein (0.25.1-2) ... 492s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 492s Setting up python3-soupsieve (2.5-1) ... 492s Setting up python3-iniparse (0.5-2) ... 492s Setting up libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 492s Setting up python3-vobject (0.9.6.1-2) ... 492s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 492s patterns['name'] = '[a-zA-Z0-9\-_]+' 492s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 492s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 492s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 492s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 492s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 492s """ 493s Setting up gettext (0.21-14ubuntu2) ... 493s Setting up python3-phply (1.2.6-1) ... 493s Setting up dictionaries-common (1.29.7) ... 494s Setting up libserf-1-1:arm64 (1.3.10-1build2) ... 494s Setting up python3-bs4 (4.12.3-1) ... 494s Setting up python3-lxml:arm64 (5.2.1-1) ... 494s Setting up hunspell-en-us (1:2020.12.07-2) ... 494s Setting up libsvn1:arm64 (1.14.3-1build4) ... 494s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 494s Setting up subversion (1.14.3-1build4) ... 494s Setting up python3-enchant (3.2.2-1) ... 494s Setting up python3-translate (3.12.2-1ubuntu1) ... 495s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 495s Setting up autopkgtest-satdep (0) ... 495s Processing triggers for man-db (2.12.0-4build2) ... 496s Processing triggers for install-info (7.1-3build2) ... 496s Processing triggers for libc-bin (2.39-0ubuntu8) ... 496s Processing triggers for dictionaries-common (1.29.7) ... 500s (Reading database ... 81162 files and directories currently installed.) 500s Removing autopkgtest-satdep (0) ... 501s autopkgtest [17:52:13]: test translate-toolkit: [----------------------- 501s ========= SMOKE TEST: /usr/bin/android2po =========== 502s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 502s 502s Convert Android string files to Gettext PO localization files. See: 502s http://docs.translatehouse.org/projects/translate- 502s toolkit/en/latest/commands/android2po.html for examples and usage 502s instructions. 502s 502s Options: 502s --version show program's version number and exit 502s -h, --help show this help message and exit 502s --manpage output a manpage based on the help 502s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 502s --errorlevel=ERRORLEVEL 502s show errorlevel as: none, message, exception, 502s traceback 502s -i INPUT, --input=INPUT 502s read from INPUT in xml format 502s -x EXCLUDE, --exclude=EXCLUDE 502s exclude names matching EXCLUDE from input paths 502s -o OUTPUT, --output=OUTPUT 502s write to OUTPUT in po, pot formats 502s -t TEMPLATE, --template=TEMPLATE 502s read from TEMPLATE in xml format 502s -S, --timestamp skip conversion if the output file has newer timestamp 502s --duplicates=DUPLICATESTYLE 502s what to do with duplicate strings (identical source 502s text): merge, msgctxt (default: 'msgctxt') 502s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 502s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 502s input files [input files ...] 502s 502s positional arguments: 502s input files 502s 502s options: 502s -h, --help show this help message and exit 502s -d TMDB_FILE, --tmdb TMDB_FILE 502s translation memory database file (default: tm.db) 502s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 502s source language of translation files (default: en) 502s -t TARGET_LANG, --import-target-lang TARGET_LANG 502s target language of translation files 502s ========= SMOKE TEST: /usr/bin/buildxpi =========== 502s usage: Usage: buildxpi.py [] [ ...] 502s 502s positional arguments: 502s langs 502s 502s options: 502s -h, --help show this help message and exit 502s -L L10NBASE, --l10n-base L10NBASE 502s The directory containing the subdirectory. 502s -o OUTPUTDIR, --output-dir OUTPUTDIR 502s The directory to copy the built XPI to (default: 502s current directory). 502s -p MOZPRODUCT, --mozproduct MOZPRODUCT 502s The Mozilla product name (default: "browser"). 502s -s SRCDIR, --src SRCDIR 502s The directory containing the Mozilla l10n sources. 502s -d, --delete-dest Delete output XPI if it already exists. 502s -v, --verbose Be more noisy 502s --soft-max-version Override a fixed max version with one to cover the 502s whole cycle e.g. 24.0a1 becomes 24.0.* 502s ========= SMOKE TEST: /usr/bin/csv2po =========== 502s 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] 502s 502s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 502s See: http://docs.translatehouse.org/projects/translate- 502s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 502s 502s Options: 502s --version show program's version number and exit 502s -h, --help show this help message and exit 502s --manpage output a manpage based on the help 502s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 502s --errorlevel=ERRORLEVEL 502s show errorlevel as: none, message, exception, 502s traceback 502s -i INPUT, --input=INPUT 502s read from INPUT in csv format 502s -x EXCLUDE, --exclude=EXCLUDE 502s exclude names matching EXCLUDE from input paths 502s -o OUTPUT, --output=OUTPUT 502s write to OUTPUT in po, pot formats 502s -t TEMPLATE, --template=TEMPLATE 502s read from TEMPLATE in po, pot, pot formats 502s -S, --timestamp skip conversion if the output file has newer timestamp 502s -P, --pot output PO Templates (.pot) rather than PO files (.po) 502s --charset=CHARSET set charset to decode from csv files 502s --columnorder=COLUMNORDER 502s specify the order and position of columns 502s (location,source,target) 502s --duplicates=DUPLICATESTYLE 502s what to do with duplicate strings (identical source 502s text): merge, msgctxt (default: 'msgctxt') 502s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 502s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 502s 502s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 502s glossary file. See: http://docs.translatehouse.org/projects/translate- 502s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 502s 502s Options: 502s --version show program's version number and exit 502s -h, --help show this help message and exit 502s --manpage output a manpage based on the help 502s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 502s --errorlevel=ERRORLEVEL 502s show errorlevel as: none, message, exception, 502s traceback 502s -i INPUT, --input=INPUT 502s read from INPUT in csv format 502s -x EXCLUDE, --exclude=EXCLUDE 502s exclude names matching EXCLUDE from input paths 502s -o OUTPUT, --output=OUTPUT 502s write to OUTPUT in tbx format 502s -S, --timestamp skip conversion if the output file has newer timestamp 502s --charset=CHARSET set charset to decode from csv files 502s --columnorder=COLUMNORDER 502s specify the order and position of columns 502s (comment,source,target) 502s ========= SMOKE TEST: /usr/bin/dtd2po =========== 503s 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] 503s 503s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 503s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 503s this module You can convert back to .dtd using po2dtd.py. 503s 503s Options: 503s --version show program's version number and exit 503s -h, --help show this help message and exit 503s --manpage output a manpage based on the help 503s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 503s --errorlevel=ERRORLEVEL 503s show errorlevel as: none, message, exception, 503s traceback 503s -i INPUT, --input=INPUT 503s read from INPUT in dtd format 503s -x EXCLUDE, --exclude=EXCLUDE 503s exclude names matching EXCLUDE from input paths 503s -o OUTPUT, --output=OUTPUT 503s write to OUTPUT in po, pot formats 503s -t TEMPLATE, --template=TEMPLATE 503s read from TEMPLATE in dtd format 503s -S, --timestamp skip conversion if the output file has newer timestamp 503s -P, --pot output PO Templates (.pot) rather than PO files (.po) 503s --duplicates=DUPLICATESTYLE 503s what to do with duplicate strings (identical source 503s text): merge, msgctxt (default: 'msgctxt') 503s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 503s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 503s 503s Convert flat XML files to Gettext PO localization files. See: 503s http://docs.translatehouse.org/projects/translate- 503s toolkit/en/latest/commands/flatxml2po.html for examples and usage 503s instructions. 503s 503s Options: 503s --version show program's version number and exit 503s -h, --help show this help message and exit 503s --manpage output a manpage based on the help 503s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 503s --errorlevel=ERRORLEVEL 503s show errorlevel as: none, message, exception, 503s traceback 503s -i INPUT, --input=INPUT 503s read from INPUT in xml format 503s -x EXCLUDE, --exclude=EXCLUDE 503s exclude names matching EXCLUDE from input paths 503s -o OUTPUT, --output=OUTPUT 503s write to OUTPUT in po, pot formats 503s -S, --timestamp skip conversion if the output file has newer timestamp 503s -r ROOT, --root=ROOT name of the XML root element (default: "root") 503s -v VALUE, --value=VALUE 503s name of the XML value element (default: "str") 503s -k KEY, --key=KEY name of the XML key attribute (default: "key") 503s -n NS, --namespace=NS 503s XML namespace uri (default: None) 503s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 503s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 503s [--delete-dest] [-v] 503s 503s options: 503s -h, --help show this help message and exit 503s -s SRCDIR, --src SRCDIR 503s The directory containing the Mozilla l10n sources. 503s -d DESTDIR, --dest DESTDIR 503s The destination directory to copy the en-US locale 503s files to. 503s -p MOZPRODUCT, --mozproduct MOZPRODUCT 503s The Mozilla product name. 503s --delete-dest Delete the destination directory (if it exists). 503s -v, --verbose Be more noisy 503s ========= SMOKE TEST: /usr/bin/html2po =========== 503s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 503s 503s Convert HTML files to Gettext PO localization files. See: 503s http://docs.translatehouse.org/projects/translate- 503s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 503s 503s Options: 503s --version show program's version number and exit 503s -h, --help show this help message and exit 503s --manpage output a manpage based on the help 503s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 503s --errorlevel=ERRORLEVEL 503s show errorlevel as: none, message, exception, 503s traceback 503s -i INPUT, --input=INPUT 503s read from INPUT in htm, html, xhtml formats 503s -x EXCLUDE, --exclude=EXCLUDE 503s exclude names matching EXCLUDE from input paths 503s -o OUTPUT, --output=OUTPUT 503s write to OUTPUT in po, pot formats 503s -S, --timestamp skip conversion if the output file has newer timestamp 503s -P, --pot output PO Templates (.pot) rather than PO files (.po) 503s --keepcomments preserve html comments as translation notes in the 503s output 503s --duplicates=DUPLICATESTYLE 503s what to do with duplicate strings (identical source 503s text): merge, msgctxt (default: 'msgctxt') 503s --multifile=MULTIFILESTYLE 503s how to split po/pot files (single, toplevel or 503s onefile) 503s ========= SMOKE TEST: /usr/bin/ical2po =========== 503s 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] 503s 503s Convert iCalendar files to Gettext PO localization files. See: 503s http://docs.translatehouse.org/projects/translate- 503s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 503s 503s Options: 503s --version show program's version number and exit 503s -h, --help show this help message and exit 503s --manpage output a manpage based on the help 503s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 503s --errorlevel=ERRORLEVEL 503s show errorlevel as: none, message, exception, 503s traceback 503s -i INPUT, --input=INPUT 503s read from INPUT in ics format 503s -x EXCLUDE, --exclude=EXCLUDE 503s exclude names matching EXCLUDE from input paths 503s -o OUTPUT, --output=OUTPUT 503s write to OUTPUT in po, pot formats 503s -t TEMPLATE, --template=TEMPLATE 503s read from TEMPLATE in ics format 503s -S, --timestamp skip conversion if the output file has newer timestamp 503s -P, --pot output PO Templates (.pot) rather than PO files (.po) 503s --duplicates=DUPLICATESTYLE 503s what to do with duplicate strings (identical source 503s text): merge, msgctxt (default: 'msgctxt') 504s ========= SMOKE TEST: /usr/bin/idml2po =========== 504s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 504s 504s Convert IDML files to PO localization files. 504s 504s Options: 504s --version show program's version number and exit 504s -h, --help show this help message and exit 504s --manpage output a manpage based on the help 504s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 504s --errorlevel=ERRORLEVEL 504s show errorlevel as: none, message, exception, 504s traceback 504s -i INPUT, --input=INPUT 504s read from INPUT in idml format 504s -x EXCLUDE, --exclude=EXCLUDE 504s exclude names matching EXCLUDE from input paths 504s -o OUTPUT, --output=OUTPUT 504s write to OUTPUT in po, pot formats 504s -S, --timestamp skip conversion if the output file has newer timestamp 504s ========= SMOKE TEST: /usr/bin/ini2po =========== 504s 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] 504s 504s Convert .ini files to Gettext PO localization files. See: 504s http://docs.translatehouse.org/projects/translate- 504s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 504s 504s Options: 504s --version show program's version number and exit 504s -h, --help show this help message and exit 504s --manpage output a manpage based on the help 504s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 504s --errorlevel=ERRORLEVEL 504s show errorlevel as: none, message, exception, 504s traceback 504s -i INPUT, --input=INPUT 504s read from INPUT in ini, isl, iss formats 504s -x EXCLUDE, --exclude=EXCLUDE 504s exclude names matching EXCLUDE from input paths 504s -o OUTPUT, --output=OUTPUT 504s write to OUTPUT in po, pot formats 504s -t TEMPLATE, --template=TEMPLATE 504s read from TEMPLATE in ini, isl, iss formats 504s -S, --timestamp skip conversion if the output file has newer timestamp 504s -P, --pot output PO Templates (.pot) rather than PO files (.po) 504s --duplicates=DUPLICATESTYLE 504s what to do with duplicate strings (identical source 504s text): merge, msgctxt (default: 'msgctxt') 504s ========= SMOKE TEST: /usr/bin/json2po =========== 504s 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] 504s 504s Convert JSON files to Gettext PO localization files. See: 504s http://docs.translatehouse.org/projects/translate- 504s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 504s 504s Options: 504s --version show program's version number and exit 504s -h, --help show this help message and exit 504s --manpage output a manpage based on the help 504s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 504s --errorlevel=ERRORLEVEL 504s show errorlevel as: none, message, exception, 504s traceback 504s -i INPUT, --input=INPUT 504s read from INPUT in json format 504s -x EXCLUDE, --exclude=EXCLUDE 504s exclude names matching EXCLUDE from input paths 504s -o OUTPUT, --output=OUTPUT 504s write to OUTPUT in po, pot formats 504s -t TEMPLATE, --template=TEMPLATE 504s read from TEMPLATE in json format 504s -S, --timestamp skip conversion if the output file has newer timestamp 504s -P, --pot output PO Templates (.pot) rather than PO files (.po) 504s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 504s everything) 504s --duplicates=DUPLICATESTYLE 504s what to do with duplicate strings (identical source 504s text): merge, msgctxt (default: 'msgctxt') 504s ========= SMOKE TEST: /usr/bin/md2po =========== 505s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 505s 505s Convert Markdown files to Gettext PO localization files. See: 505s http://docs.translatehouse.org/projects/translate- 505s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 505s 505s Options: 505s --version show program's version number and exit 505s -h, --help show this help message and exit 505s --manpage output a manpage based on the help 505s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 505s --errorlevel=ERRORLEVEL 505s show errorlevel as: none, message, exception, 505s traceback 505s -i INPUT, --input=INPUT 505s read from INPUT in markdown, md, text, txt formats 505s -x EXCLUDE, --exclude=EXCLUDE 505s exclude names matching EXCLUDE from input paths 505s -o OUTPUT, --output=OUTPUT 505s write to OUTPUT in po, pot formats 505s -S, --timestamp skip conversion if the output file has newer timestamp 505s -P, --pot output PO Templates (.pot) rather than PO files (.po) 505s --duplicates=DUPLICATESTYLE 505s what to do with duplicate strings (identical source 505s text): merge, msgctxt (default: 'msgctxt') 505s --multifile=MULTIFILESTYLE 505s how to split po/pot files (single, toplevel or 505s onefile) 505s ========= SMOKE TEST: /usr/bin/moz2po =========== 506s 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] 506s 506s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 506s See: http://docs.translatehouse.org/projects/translate- 506s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 506s 506s Options: 506s --version show program's version number and exit 506s -h, --help show this help message and exit 506s --manpage output a manpage based on the help 506s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 506s --errorlevel=ERRORLEVEL 506s show errorlevel as: none, message, exception, 506s traceback 506s -i INPUT, --input=INPUT 506s read from INPUT in *, dtd, inc, ini, it, js, lang, 506s manifest, properties, rdf formats 506s -x EXCLUDE, --exclude=EXCLUDE 506s exclude names matching EXCLUDE from input paths 506s -o OUTPUT, --output=OUTPUT 506s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 506s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 506s lang.pot, manifest, properties.po, properties.pot, rdf 506s formats 506s -t TEMPLATE, --template=TEMPLATE 506s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 506s manifest, properties, rdf formats 506s -S, --timestamp skip conversion if the output file has newer timestamp 506s -P, --pot output PO Templates (.pot) rather than PO files (.po) 506s --duplicates=DUPLICATESTYLE 506s what to do with duplicate strings (identical source 506s text): merge, msgctxt (default: 'msgctxt') 506s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 506s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 506s 506s Convert Mozilla .lang files to Gettext PO localization files. 506s 506s Options: 506s --version show program's version number and exit 506s -h, --help show this help message and exit 506s --manpage output a manpage based on the help 506s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 506s --errorlevel=ERRORLEVEL 506s show errorlevel as: none, message, exception, 506s traceback 506s -i INPUT, --input=INPUT 506s read from INPUT in lang format 506s -x EXCLUDE, --exclude=EXCLUDE 506s exclude names matching EXCLUDE from input paths 506s -o OUTPUT, --output=OUTPUT 506s write to OUTPUT in po, pot formats 506s -S, --timestamp skip conversion if the output file has newer timestamp 506s -P, --pot output PO Templates (.pot) rather than PO files (.po) 506s --encoding=ENCODING The encoding of the input file (default: UTF-8) 506s --duplicates=DUPLICATESTYLE 506s what to do with duplicate strings (identical source 506s text): merge, msgctxt (default: 'msgctxt') 506s ========= SMOKE TEST: /usr/bin/msghack =========== 506s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 506s This program can be used to alter .po files in ways no sane mind would think about. 506s -o result will be written to FILE 506s --invert invert a po file by switching msgid and msgstr 506s --master join any number of files in a master-formatted catalog 506s --empty empty the contents of the .po file, creating a .pot 506s --append append entries from ref.po that don't exist in file.po 506s 506s Note: It is just a replacement of msghack for backward support. 506s 506s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 506s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 506s 506s Convert OpenDocument (ODF) files to XLIFF localization files. See: 506s http://docs.translatehouse.org/projects/translate- 506s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 506s 506s Options: 506s --version show program's version number and exit 506s -h, --help show this help message and exit 506s --manpage output a manpage based on the help 506s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 506s --errorlevel=ERRORLEVEL 506s show errorlevel as: none, message, exception, 506s traceback 506s -i INPUT, --input=INPUT 506s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 506s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 506s formats 506s -x EXCLUDE, --exclude=EXCLUDE 506s exclude names matching EXCLUDE from input paths 506s -o OUTPUT, --output=OUTPUT 506s write to OUTPUT in xlf, xliff formats 506s -S, --timestamp skip conversion if the output file has newer timestamp 506s ========= SMOKE TEST: /usr/bin/oo2po =========== 506s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 506s 506s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 506s files. See: http://docs.translatehouse.org/projects/translate- 506s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 506s 506s Options: 506s --version show program's version number and exit 506s -h, --help show this help message and exit 506s --manpage output a manpage based on the help 506s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 506s --errorlevel=ERRORLEVEL 506s show errorlevel as: none, message, exception, 506s traceback 506s -i INPUT, --input=INPUT 506s read from INPUT in oo, sdf formats 506s -x EXCLUDE, --exclude=EXCLUDE 506s exclude names matching EXCLUDE from input paths 506s -o OUTPUT, --output=OUTPUT 506s write to OUTPUT in po, pot formats 506s -S, --timestamp skip conversion if the output file has newer timestamp 506s -P, --pot output PO Templates (.pot) rather than PO files (.po) 506s -l LANG, --language=LANG 506s set target language to extract from oo file (e.g. af- 506s ZA) 506s --source-language=LANG 506s set source language code (default en-US) 506s --nonrecursiveinput don't treat the input oo as a recursive store 506s --duplicates=DUPLICATESTYLE 506s what to do with duplicate strings (identical source 506s text): merge, msgctxt (default: 'msgctxt') 506s --multifile=MULTIFILESTYLE 506s how to split po/pot files (single, toplevel or 506s onefile) 506s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 506s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 506s 506s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 506s files. See: http://docs.translatehouse.org/projects/translate- 506s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 506s 506s Options: 506s --version show program's version number and exit 506s -h, --help show this help message and exit 506s --manpage output a manpage based on the help 506s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 506s --errorlevel=ERRORLEVEL 506s show errorlevel as: none, message, exception, 506s traceback 506s -i INPUT, --input=INPUT 506s read from INPUT in oo, sdf formats 506s -x EXCLUDE, --exclude=EXCLUDE 506s exclude names matching EXCLUDE from input paths 506s -o OUTPUT, --output=OUTPUT 506s write to OUTPUT in xlf, xliff formats 506s -S, --timestamp skip conversion if the output file has newer timestamp 506s -l LANG, --language=LANG 506s set target language to extract from oo file (e.g. af- 506s ZA) 506s --source-language=LANG 506s set source language code (default en-US) 506s --nonrecursiveinput don't treat the input oo as a recursive store 506s --duplicates=DUPLICATESTYLE 506s what to do with duplicate strings (identical source 506s text): merge, msgctxt (default: 'msgctxt') 506s --multifile=MULTIFILESTYLE 506s how to split po/pot files (single, toplevel or 506s onefile) 507s ========= SMOKE TEST: /usr/bin/php2po =========== 507s 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] 507s 507s Convert PHP localization files to Gettext PO localization files. See: 507s http://docs.translatehouse.org/projects/translate- 507s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in html, php formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in po, pot formats 507s -t TEMPLATE, --template=TEMPLATE 507s read from TEMPLATE in html, php formats 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s -P, --pot output PO Templates (.pot) rather than PO files (.po) 507s --duplicates=DUPLICATESTYLE 507s what to do with duplicate strings (identical source 507s text): merge, msgctxt (default: 'msgctxt') 507s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 507s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 507s 507s Convert PHP format .po files to Python format .po files. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in po, pot formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in po, pot formats 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s ========= SMOKE TEST: /usr/bin/po2csv =========== 507s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 507s 507s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 507s See: http://docs.translatehouse.org/projects/translate- 507s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in po, pot formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in csv format 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s --columnorder=COLUMNORDER 507s specify the order and position of columns 507s (location,source,target) 507s ========= SMOKE TEST: /usr/bin/po2dtd =========== 507s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 507s 507s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 507s Conversion is either done using a template plus PO file or just using the 507s .po file. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in po, pot formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in dtd format 507s -t TEMPLATE, --template=TEMPLATE 507s read from TEMPLATE in dtd format 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s --threshold=PERCENT only convert files where the translation completion is 507s above PERCENT 507s --fuzzy use translations marked fuzzy 507s --nofuzzy don't use translations marked fuzzy (default) 507s --removeuntranslated remove untranslated strings from output 507s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 507s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 507s 507s Convert Gettext PO localization files to flat XML files. See: 507s http://docs.translatehouse.org/projects/translate- 507s toolkit/en/latest/commands/flatxml2po.html for examples and usage 507s instructions. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in po, pot formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in xml format 507s -t TEMPLATE, --template=TEMPLATE 507s read from TEMPLATE in xml format 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s -r ROOT, --root=ROOT name of the XML root element (default: "root") 507s -v VALUE, --value=VALUE 507s name of the XML value element (default: "str") 507s -k KEY, --key=KEY name of the XML key attribute (default: "key") 507s -n NS, --namespace=NS 507s XML namespace uri (default: None) 507s -w INDENT, --indent=INDENT 507s indent width in spaces, 0 for no indent (default: 2) 507s ========= SMOKE TEST: /usr/bin/po2html =========== 507s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 507s 507s Translate HTML files using Gettext PO localization files. See: 507s http://docs.translatehouse.org/projects/translate- 507s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 507s 507s Options: 507s --version show program's version number and exit 507s -h, --help show this help message and exit 507s --manpage output a manpage based on the help 507s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 507s --errorlevel=ERRORLEVEL 507s show errorlevel as: none, message, exception, 507s traceback 507s -i INPUT, --input=INPUT 507s read from INPUT in po, pot formats 507s -x EXCLUDE, --exclude=EXCLUDE 507s exclude names matching EXCLUDE from input paths 507s -o OUTPUT, --output=OUTPUT 507s write to OUTPUT in htm, html, xhtml formats 507s -t TEMPLATE, --template=TEMPLATE 507s read from TEMPLATE in htm, html, xhtml formats 507s -S, --timestamp skip conversion if the output file has newer timestamp 507s --threshold=PERCENT only convert files where the translation completion is 507s above PERCENT 507s --fuzzy use translations marked fuzzy 507s --nofuzzy don't use translations marked fuzzy (default) 508s ========= SMOKE TEST: /usr/bin/po2ical =========== 508s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 508s 508s Convert Gettext PO localization files to iCalendar files. See: 508s http://docs.translatehouse.org/projects/translate- 508s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 508s 508s Options: 508s --version show program's version number and exit 508s -h, --help show this help message and exit 508s --manpage output a manpage based on the help 508s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 508s --errorlevel=ERRORLEVEL 508s show errorlevel as: none, message, exception, 508s traceback 508s -i INPUT, --input=INPUT 508s read from INPUT in po, pot formats 508s -x EXCLUDE, --exclude=EXCLUDE 508s exclude names matching EXCLUDE from input paths 508s -o OUTPUT, --output=OUTPUT 508s write to OUTPUT in ics format 508s -t TEMPLATE, --template=TEMPLATE 508s read from TEMPLATE in ics format 508s -S, --timestamp skip conversion if the output file has newer timestamp 508s --threshold=PERCENT only convert files where the translation completion is 508s above PERCENT 508s --fuzzy use translations marked fuzzy 508s --nofuzzy don't use translations marked fuzzy (default) 508s ========= SMOKE TEST: /usr/bin/po2idml =========== 508s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 508s 508s Takes an IDML template file and a PO file containing translations of strings 508s in the IDML template. It creates a new IDML file using the translations of the 508s PO file. 508s 508s Options: 508s --version show program's version number and exit 508s -h, --help show this help message and exit 508s --manpage output a manpage based on the help 508s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 508s --errorlevel=ERRORLEVEL 508s show errorlevel as: none, message, exception, 508s traceback 508s -i INPUT, --input=INPUT 508s read from INPUT in po, pot formats 508s -x EXCLUDE, --exclude=EXCLUDE 508s exclude names matching EXCLUDE from input paths 508s -o OUTPUT, --output=OUTPUT 508s write to OUTPUT in idml format 508s -t TEMPLATE, --template=TEMPLATE 508s read from TEMPLATE in idml format 508s -S, --timestamp skip conversion if the output file has newer timestamp 508s ========= SMOKE TEST: /usr/bin/po2ini =========== 508s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 508s 508s Convert Gettext PO localization files to .ini files. See: 508s http://docs.translatehouse.org/projects/translate- 508s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 508s 508s Options: 508s --version show program's version number and exit 508s -h, --help show this help message and exit 508s --manpage output a manpage based on the help 508s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 508s --errorlevel=ERRORLEVEL 508s show errorlevel as: none, message, exception, 508s traceback 508s -i INPUT, --input=INPUT 508s read from INPUT in po, pot formats 508s -x EXCLUDE, --exclude=EXCLUDE 508s exclude names matching EXCLUDE from input paths 508s -o OUTPUT, --output=OUTPUT 508s write to OUTPUT in ini, isl formats 508s -t TEMPLATE, --template=TEMPLATE 508s read from TEMPLATE in ini, isl formats 508s -S, --timestamp skip conversion if the output file has newer timestamp 508s --threshold=PERCENT only convert files where the translation completion is 508s above PERCENT 508s --fuzzy use translations marked fuzzy 508s --nofuzzy don't use translations marked fuzzy (default) 508s ========= SMOKE TEST: /usr/bin/po2json =========== 508s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 508s 508s Convert Gettext PO localization files to JSON files. See: 508s http://docs.translatehouse.org/projects/translate- 508s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 508s 508s Options: 508s --version show program's version number and exit 508s -h, --help show this help message and exit 508s --manpage output a manpage based on the help 508s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 508s --errorlevel=ERRORLEVEL 508s show errorlevel as: none, message, exception, 508s traceback 508s -i INPUT, --input=INPUT 508s read from INPUT in po, pot formats 508s -x EXCLUDE, --exclude=EXCLUDE 508s exclude names matching EXCLUDE from input paths 508s -o OUTPUT, --output=OUTPUT 508s write to OUTPUT in json format 508s -t TEMPLATE, --template=TEMPLATE 508s read from TEMPLATE in json format 508s -S, --timestamp skip conversion if the output file has newer timestamp 508s --threshold=PERCENT only convert files where the translation completion is 508s above PERCENT 508s --fuzzy use translations marked fuzzy 508s --nofuzzy don't use translations marked fuzzy (default) 508s --removeuntranslated remove untranslated strings from output 508s ========= SMOKE TEST: /usr/bin/po2md =========== 509s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 509s 509s Translate Markdown files using Gettext PO localization files. See: 509s http://docs.translatehouse.org/projects/translate- 509s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 509s 509s Options: 509s --version show program's version number and exit 509s -h, --help show this help message and exit 509s --manpage output a manpage based on the help 509s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 509s --errorlevel=ERRORLEVEL 509s show errorlevel as: none, message, exception, 509s traceback 509s -i INPUT, --input=INPUT 509s read from INPUT in po, pot formats 509s -x EXCLUDE, --exclude=EXCLUDE 509s exclude names matching EXCLUDE from input paths 509s -o OUTPUT, --output=OUTPUT 509s write to OUTPUT in markdown, md, text, txt formats 509s -t TEMPLATE, --template=TEMPLATE 509s read from TEMPLATE in markdown, md, text, txt formats 509s -S, --timestamp skip conversion if the output file has newer timestamp 509s -m MAXLENGTH, --maxlinelength=MAXLENGTH 509s reflow (word wrap) the output to the given maximum 509s line length. set to 0 to disable 509s --threshold=PERCENT only convert files where the translation completion is 509s above PERCENT 509s --fuzzy use translations marked fuzzy 509s --nofuzzy don't use translations marked fuzzy (default) 509s ========= SMOKE TEST: /usr/bin/po2moz =========== 509s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 509s 509s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 509s See: http://docs.translatehouse.org/projects/translate- 509s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 509s 509s Options: 509s --version show program's version number and exit 509s -h, --help show this help message and exit 509s --manpage output a manpage based on the help 509s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 509s --errorlevel=ERRORLEVEL 509s show errorlevel as: none, message, exception, 509s traceback 509s -i INPUT, --input=INPUT 509s read from INPUT in *, dtd.po, dtd.pot, inc.po, 509s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 509s lang.pot, manifest, properties.po, properties.pot, rdf 509s formats 509s -x EXCLUDE, --exclude=EXCLUDE 509s exclude names matching EXCLUDE from input paths 509s -o OUTPUT, --output=OUTPUT 509s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 509s manifest, properties, rdf formats 509s -t TEMPLATE, --template=TEMPLATE 509s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 509s manifest, properties, rdf formats 509s -S, --timestamp skip conversion if the output file has newer timestamp 509s -l LOCALE, --locale=LOCALE 509s set output locale (required as this sets the directory 509s names) 509s --threshold=PERCENT only convert files where the translation completion is 509s above PERCENT 509s --fuzzy use translations marked fuzzy 509s --nofuzzy don't use translations marked fuzzy (default) 509s --removeuntranslated remove untranslated strings from output 509s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 509s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 509s 509s Convert Gettext PO localization files to Mozilla .lang files. 509s 509s Options: 509s --version show program's version number and exit 509s -h, --help show this help message and exit 509s --manpage output a manpage based on the help 509s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 509s --errorlevel=ERRORLEVEL 509s show errorlevel as: none, message, exception, 509s traceback 509s -i INPUT, --input=INPUT 509s read from INPUT in po, pot formats 509s -x EXCLUDE, --exclude=EXCLUDE 509s exclude names matching EXCLUDE from input paths 509s -o OUTPUT, --output=OUTPUT 509s write to OUTPUT in lang format 509s -t TEMPLATE, --template=TEMPLATE 509s read from TEMPLATE in lang format 509s -S, --timestamp skip conversion if the output file has newer timestamp 509s --mark-active mark the file as active 509s --threshold=PERCENT only convert files where the translation completion is 509s above PERCENT 509s --fuzzy use translations marked fuzzy 509s --nofuzzy don't use translations marked fuzzy (default) 509s ========= SMOKE TEST: /usr/bin/po2oo =========== 510s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 510s 510s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 510s file. See: http://docs.translatehouse.org/projects/translate- 510s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 510s 510s Options: 510s --version show program's version number and exit 510s -h, --help show this help message and exit 510s --manpage output a manpage based on the help 510s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 510s --errorlevel=ERRORLEVEL 510s show errorlevel as: none, message, exception, 510s traceback 510s -i INPUT, --input=INPUT 510s read from INPUT in po, pot, xlf, xliff formats 510s -x EXCLUDE, --exclude=EXCLUDE 510s exclude names matching EXCLUDE from input paths 510s -o OUTPUT, --output=OUTPUT 510s write to OUTPUT in oo, sdf formats 510s -t TEMPLATE, --template=TEMPLATE 510s read from TEMPLATE in oo, sdf formats 510s -S, --timestamp skip conversion if the output file has newer timestamp 510s -l LANG, --language=LANG 510s set target language code (e.g. af-ZA) [required] 510s --source-language=LANG 510s set source language code (default en-US) 510s -T, --keeptimestamp don't change the timestamps of the strings 510s --nonrecursiveoutput don't treat the output oo as a recursive store 510s --nonrecursivetemplate 510s don't treat the template oo as a recursive store 510s --skipsource don't output the source language, but fallback to it 510s where needed 510s --filteraction=ACTION 510s action on pofilter failure: none (default), warn, 510s exclude-serious, exclude-all 510s --threshold=PERCENT only convert files where the translation completion is 510s above PERCENT 510s --fuzzy use translations marked fuzzy 510s --nofuzzy don't use translations marked fuzzy (default) 510s --multifile=MULTIFILESTYLE 510s how to split po/pot files (single, toplevel or 510s onefile) 510s ========= SMOKE TEST: /usr/bin/po2php =========== 510s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 510s 510s Convert Gettext PO localization files to PHP localization files. See: 510s http://docs.translatehouse.org/projects/translate- 510s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 510s 510s Options: 510s --version show program's version number and exit 510s -h, --help show this help message and exit 510s --manpage output a manpage based on the help 510s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 510s --errorlevel=ERRORLEVEL 510s show errorlevel as: none, message, exception, 510s traceback 510s -i INPUT, --input=INPUT 510s read from INPUT in po, pot formats 510s -x EXCLUDE, --exclude=EXCLUDE 510s exclude names matching EXCLUDE from input paths 510s -o OUTPUT, --output=OUTPUT 510s write to OUTPUT in html, php formats 510s -t TEMPLATE, --template=TEMPLATE 510s read from TEMPLATE in html, php formats 510s -S, --timestamp skip conversion if the output file has newer timestamp 510s --threshold=PERCENT only convert files where the translation completion is 510s above PERCENT 510s --fuzzy use translations marked fuzzy 510s --nofuzzy don't use translations marked fuzzy (default) 510s ========= SMOKE TEST: /usr/bin/po2prop =========== 510s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 510s 510s Convert Gettext PO localization files to Java/Mozilla .properties files. 510s See: http://docs.translatehouse.org/projects/translate- 510s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 510s 510s Options: 510s --version show program's version number and exit 510s -h, --help show this help message and exit 510s --manpage output a manpage based on the help 510s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 510s --errorlevel=ERRORLEVEL 510s show errorlevel as: none, message, exception, 510s traceback 510s -i INPUT, --input=INPUT 510s read from INPUT in po, pot formats 510s -x EXCLUDE, --exclude=EXCLUDE 510s exclude names matching EXCLUDE from input paths 510s -o OUTPUT, --output=OUTPUT 510s write to OUTPUT in lang, properties, strings formats 510s -t TEMPLATE, --template=TEMPLATE 510s read from TEMPLATE in lang, properties, strings 510s formats 510s -S, --timestamp skip conversion if the output file has newer timestamp 510s --personality=TYPE override the input file format: java, java-utf8, java- 510s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 510s strings, strings-utf8, joomla (for .properties files, 510s default: java) 510s --encoding=ENCODING override the encoding set by the personality 510s --threshold=PERCENT only convert files where the translation completion is 510s above PERCENT 510s --fuzzy use translations marked fuzzy 510s --nofuzzy don't use translations marked fuzzy (default) 510s --removeuntranslated remove untranslated strings from output 510s ========= SMOKE TEST: /usr/bin/po2rc =========== 511s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 511s 511s Convert Gettext PO localization files back to Windows Resource (.rc) files. 511s See: http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in rc format 511s -t TEMPLATE, --template=TEMPLATE 511s read from TEMPLATE in rc format 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 511s -l LANG, --lang=LANG LANG entry 511s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 511s --threshold=PERCENT only convert files where the translation completion is 511s above PERCENT 511s --fuzzy use translations marked fuzzy 511s --nofuzzy don't use translations marked fuzzy (default) 511s ========= SMOKE TEST: /usr/bin/po2resx =========== 511s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 511s 511s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 511s http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in resx format 511s -t TEMPLATE, --template=TEMPLATE 511s read from TEMPLATE in resx format 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s --fuzzy use translations marked fuzzy 511s --nofuzzy don't use translations marked fuzzy (default) 511s ========= SMOKE TEST: /usr/bin/po2sub =========== 511s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 511s 511s Convert Gettext PO localization files to subtitle files. See: 511s http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in ass, srt, ssa, sub formats 511s -t TEMPLATE, --template=TEMPLATE 511s read from TEMPLATE in ass, srt, ssa, sub formats 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s --threshold=PERCENT only convert files where the translation completion is 511s above PERCENT 511s --fuzzy use translations marked fuzzy 511s --nofuzzy don't use translations marked fuzzy (default) 511s ========= SMOKE TEST: /usr/bin/po2symb =========== 511s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 511s 511s Convert Gettext PO localization files to Symbian translation files. See: 511s http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in r0 format 511s -t TEMPLATE, --template=TEMPLATE 511s read from TEMPLATE in 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s --duplicates=DUPLICATESTYLE 511s what to do with duplicate strings (identical source 511s text): merge, msgctxt (default: 'msgctxt') 511s ========= SMOKE TEST: /usr/bin/po2tiki =========== 511s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 511s 511s Convert Gettext PO files to TikiWiki's language.php files. See: 511s http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in tiki format 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s ========= SMOKE TEST: /usr/bin/po2tmx =========== 511s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 511s 511s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 511s file. See: http://docs.translatehouse.org/projects/translate- 511s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 511s 511s Options: 511s --version show program's version number and exit 511s -h, --help show this help message and exit 511s --manpage output a manpage based on the help 511s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 511s --errorlevel=ERRORLEVEL 511s show errorlevel as: none, message, exception, 511s traceback 511s -i INPUT, --input=INPUT 511s read from INPUT in po, pot formats 511s -x EXCLUDE, --exclude=EXCLUDE 511s exclude names matching EXCLUDE from input paths 511s -o OUTPUT, --output=OUTPUT 511s write to OUTPUT in tmx format 511s -S, --timestamp skip conversion if the output file has newer timestamp 511s -l LANG, --language=LANG 511s set target language code (e.g. af-ZA) [required] 511s --source-language=LANG 511s set source language code (default: en) 511s --comments=COMMENT set default comment import: none, source, type or 511s others (default: none) 512s ========= SMOKE TEST: /usr/bin/po2ts =========== 512s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 512s 512s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 512s http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in ts format 512s -t TEMPLATE, --template=TEMPLATE 512s read from TEMPLATE in ts format 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s -c CONTEXT, --context=CONTEXT 512s use supplied context instead of the one in the .po 512s file comment 512s ========= SMOKE TEST: /usr/bin/po2txt =========== 512s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 512s 512s Convert Gettext PO localization files to plain text (.txt) files. See: 512s http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot, xlf, xliff formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in txt format 512s -t TEMPLATE, --template=TEMPLATE 512s read from TEMPLATE in txt format 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s --encoding=ENCODING The encoding of the template file (default: UTF-8) 512s -w WRAP, --wrap=WRAP set number of columns to wrap text at 512s --threshold=PERCENT only convert files where the translation completion is 512s above PERCENT 512s --fuzzy use translations marked fuzzy 512s --nofuzzy don't use translations marked fuzzy (default) 512s ========= SMOKE TEST: /usr/bin/po2web2py =========== 512s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 512s 512s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 512s http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in py format 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s --threshold=PERCENT only convert files where the translation completion is 512s above PERCENT 512s --fuzzy use translations marked fuzzy 512s --nofuzzy don't use translations marked fuzzy (default) 512s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 512s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 512s 512s Convert Gettext PO localization files to a Wordfast translation memory file. 512s See: http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/po2wordfast.html for examples and usage 512s instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in txt format 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s -l LANG, --language=LANG 512s set target language code (e.g. af-ZA) [required] 512s --source-language=LANG 512s set source language code (default: en) 512s ========= SMOKE TEST: /usr/bin/po2xliff =========== 512s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 512s 512s Convert Gettext PO localization files to XLIFF localization files. See: 512s http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in xlf, xliff formats 512s -t TEMPLATE, --template=TEMPLATE 512s read from TEMPLATE in xlf, xliff formats 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s ========= SMOKE TEST: /usr/bin/po2yaml =========== 512s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 512s 512s Convert Gettext PO localization files to YAML files. See: 512s http://docs.translatehouse.org/projects/translate- 512s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 512s 512s Options: 512s --version show program's version number and exit 512s -h, --help show this help message and exit 512s --manpage output a manpage based on the help 512s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 512s --errorlevel=ERRORLEVEL 512s show errorlevel as: none, message, exception, 512s traceback 512s -i INPUT, --input=INPUT 512s read from INPUT in po, pot formats 512s -x EXCLUDE, --exclude=EXCLUDE 512s exclude names matching EXCLUDE from input paths 512s -o OUTPUT, --output=OUTPUT 512s write to OUTPUT in yaml, yml formats 512s -t TEMPLATE, --template=TEMPLATE 512s read from TEMPLATE in yaml, yml formats 512s -S, --timestamp skip conversion if the output file has newer timestamp 512s --threshold=PERCENT only convert files where the translation completion is 512s above PERCENT 512s --fuzzy use translations marked fuzzy 512s --nofuzzy don't use translations marked fuzzy (default) 513s ========= SMOKE TEST: /usr/bin/poclean =========== 513s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 513s 513s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 513s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 513s produces the target file with only the target text in from a text version of 513s the RTF. 513s 513s Options: 513s --version show program's version number and exit 513s -h, --help show this help message and exit 513s --manpage output a manpage based on the help 513s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 513s --errorlevel=ERRORLEVEL 513s show errorlevel as: none, message, exception, 513s traceback 513s -i INPUT, --input=INPUT 513s read from INPUT in po, pot, xlf, xliff formats 513s -x EXCLUDE, --exclude=EXCLUDE 513s exclude names matching EXCLUDE from input paths 513s -o OUTPUT, --output=OUTPUT 513s write to OUTPUT in po, pot, xlf, xliff formats 513s -S, --timestamp skip conversion if the output file has newer timestamp 513s ========= SMOKE TEST: /usr/bin/pocompendium =========== 513s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 513s The first parameter is the output file, standard output if the output file is '-'. 513s Any number of directories may be specified for input files. 513s Options: 513s --invert|v Creates an inverse compendium with msgid and msgstr swapped 513s --errors|e Only ouput msg bundles that have errors 513s --correct|c Only ouput msg bundles that are correctly translated 513s --ignore-case|i Drops all strings to lowercase 513s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 513s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 513s --strip-accel-under|-su Strip all underscore (_) accelerator characters 513s ========= SMOKE TEST: /usr/bin/pocompile =========== 513s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 513s 513s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 513s Object) files. See: http://docs.translatehouse.org/projects/translate- 513s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 513s 513s Options: 513s --version show program's version number and exit 513s -h, --help show this help message and exit 513s --manpage output a manpage based on the help 513s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 513s --errorlevel=ERRORLEVEL 513s show errorlevel as: none, message, exception, 513s traceback 513s -i INPUT, --input=INPUT 513s read from INPUT in po, pot, xlf, xliff formats 513s -x EXCLUDE, --exclude=EXCLUDE 513s exclude names matching EXCLUDE from input paths 513s -o OUTPUT, --output=OUTPUT 513s write to OUTPUT in mo format 513s -S, --timestamp skip conversion if the output file has newer timestamp 513s --fuzzy use translations marked fuzzy 513s --nofuzzy don't use translations marked fuzzy (default) 513s ========= SMOKE TEST: /usr/bin/poconflicts =========== 513s 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] 513s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 513s 513s Conflict finder for Gettext PO localization files. See: 513s http://docs.translatehouse.org/projects/translate- 513s toolkit/en/latest/commands/poconflicts.html for examples and usage 513s instructions. 513s 513s Options: 513s --version show program's version number and exit 513s -h, --help show this help message and exit 513s --manpage output a manpage based on the help 513s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 513s --errorlevel=ERRORLEVEL 513s show errorlevel as: none, message, exception, 513s traceback 513s -i INPUT, --input=INPUT 513s read from INPUT in po format 513s -x EXCLUDE, --exclude=EXCLUDE 513s exclude names matching EXCLUDE from input paths 513s -o OUTPUT, --output=OUTPUT 513s write to OUTPUT in po format 513s -I, --ignore-case ignore case distinctions 513s -v, --invert invert the conflicts thus extracting conflicting 513s destination words 513s --accelerator=ACCELERATORS 513s ignores the given accelerator characters when matching 513s ========= SMOKE TEST: /usr/bin/pocount =========== 513s usage: pocount [-h] [--incomplete] 513s [--full | --csv | --short | --short-strings | --short-words] 513s [--no-color] 513s files [files ...] 513s 513s positional arguments: 513s files 513s 513s options: 513s -h, --help show this help message and exit 513s --incomplete skip 100% translated files. 513s 513s Output format: 513s --full (default) statistics in full, verbose format 513s --csv statistics in CSV format 513s --short same as --short-strings 513s --short-strings statistics of strings in short format - one line per file 513s --short-words statistics of words in short format - one line per file 513s --no-color show output without color 513s ========= SMOKE TEST: /usr/bin/podebug =========== 513s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 513s 513s Insert debug messages into XLIFF and Gettext PO localization files. See: 513s http://docs.translatehouse.org/projects/translate- 513s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 513s 513s Options: 513s --version show program's version number and exit 513s -h, --help show this help message and exit 513s --manpage output a manpage based on the help 513s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 513s --errorlevel=ERRORLEVEL 513s show errorlevel as: none, message, exception, 513s traceback 513s -i INPUT, --input=INPUT 513s read from INPUT in po, pot, pot, tmx, xlf, xliff 513s formats 513s -x EXCLUDE, --exclude=EXCLUDE 513s exclude names matching EXCLUDE from input paths 513s -o OUTPUT, --output=OUTPUT 513s write to OUTPUT in po, pot, tmx, xlf, xliff formats 513s -S, --timestamp skip conversion if the output file has newer timestamp 513s -f FORMAT, --format=FORMAT 513s specify format string 513s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 513s classified, en, flipped, unicode, xxx 513s --ignore=APPLICATION apply tagging ignore rules for the given application: 513s gtk, kde, libreoffice, mozilla, openoffice 513s --preserveplaceholders 513s attempt to exclude characters that are part of 513s placeholders when performing character-level rewrites 513s so that consuming applications can still use the 513s placeholders to generate final output 514s ========= SMOKE TEST: /usr/bin/pofilter =========== 514s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 514s 514s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 514s Snippet files are created whenever a test fails. These can be examined, 514s corrected and merged back into the originals using pomerge. See: 514s http://docs.translatehouse.org/projects/translate- 514s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 514s and http://docs.translatehouse.org/projects/translate- 514s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 514s tests. 514s 514s Options: 514s --version show program's version number and exit 514s -h, --help show this help message and exit 514s --manpage output a manpage based on the help 514s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 514s --errorlevel=ERRORLEVEL 514s show errorlevel as: none, message, exception, 514s traceback 514s -i INPUT, --input=INPUT 514s read from INPUT in po, pot, tmx, xlf, xliff formats 514s -x EXCLUDE, --exclude=EXCLUDE 514s exclude names matching EXCLUDE from input paths 514s -o OUTPUT, --output=OUTPUT 514s write to OUTPUT in po, pot, tmx, xlf, xliff formats 514s -l, --listfilters list filters available 514s --review include units marked for review (default) 514s --noreview exclude units marked for review 514s --fuzzy include units marked fuzzy (default) 514s --nofuzzy exclude units marked fuzzy 514s --nonotes don't add notes about the errors 514s --autocorrect output automatic corrections where possible rather 514s than describing issues 514s --language=LANG set target language code (e.g. af-ZA) [required for 514s spell check and recommended in general] 514s --openoffice use the standard checks for OpenOffice translations 514s --libreoffice use the standard checks for LibreOffice translations 514s --mozilla use the standard checks for Mozilla translations 514s --drupal use the standard checks for Drupal translations 514s --gnome use the standard checks for Gnome translations 514s --kde use the standard checks for KDE translations 514s --wx use the standard checks for wxWidgets translations 514s --excludefilter=FILTER 514s don't use FILTER when filtering 514s -t FILTER, --test=FILTER 514s only use test FILTERs specified with this option when 514s filtering 514s --notranslatefile=FILE 514s read list of untranslatable words from FILE (must not 514s be translated) 514s --musttranslatefile=FILE 514s read list of translatable words from FILE (must be 514s translated) 514s --validcharsfile=FILE 514s read list of all valid characters from FILE (must be 514s in UTF-8) 515s ========= SMOKE TEST: /usr/bin/pogrep =========== 515s 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] 515s 515s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 515s snippet files of the same type which can then be reviewed and later merged 515s using :doc:`pomerge `. See: 515s http://docs.translatehouse.org/projects/translate- 515s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 515s 515s Options: 515s --version show program's version number and exit 515s -h, --help show this help message and exit 515s --manpage output a manpage based on the help 515s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 515s --errorlevel=ERRORLEVEL 515s show errorlevel as: none, message, exception, 515s traceback 515s -i INPUT, --input=INPUT 515s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 515s xliff formats 515s -x EXCLUDE, --exclude=EXCLUDE 515s exclude names matching EXCLUDE from input paths 515s -o OUTPUT, --output=OUTPUT 515s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 515s xliff formats 515s --search=SEARCHPARTS searches the given parts (source, target, notes and 515s locations) 515s -I, --ignore-case ignore case distinctions 515s -e, --regexp use regular expression matching 515s -v, --invert-match select non-matching lines 515s --accelerator=ACCELERATOR 515s ignores the given accelerator when matching 515s -k, --keep-translations 515s always extract units with translations 515s ========= SMOKE TEST: /usr/bin/pomerge =========== 515s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 515s 515s Merges XLIFF and Gettext PO localization files. Snippet file produced by 515s e.g. :doc:`pogrep ` and updated by a translator can be 515s merged back into the original files. See: 515s http://docs.translatehouse.org/projects/translate- 515s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 515s 515s Options: 515s --version show program's version number and exit 515s -h, --help show this help message and exit 515s --manpage output a manpage based on the help 515s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 515s --errorlevel=ERRORLEVEL 515s show errorlevel as: none, message, exception, 515s traceback 515s -i INPUT, --input=INPUT 515s read from INPUT in po, pot, pot, xlf, xliff formats 515s -x EXCLUDE, --exclude=EXCLUDE 515s exclude names matching EXCLUDE from input paths 515s -o OUTPUT, --output=OUTPUT 515s write to OUTPUT in po, pot, pot, xlf, xliff formats 515s -t TEMPLATE, --template=TEMPLATE 515s read from TEMPLATE in po, pot, pot, xlf, xliff formats 515s -S, --timestamp skip conversion if the output file has newer timestamp 515s --mergeblanks=MERGEBLANKS 515s whether to overwrite existing translations with blank 515s translations (yes/no). Default is yes. 515s --mergefuzzy=MERGEFUZZY 515s whether to consider fuzzy translations from input 515s (yes/no). Default is yes. 515s --mergecomments=MERGECOMMENTS 515s whether to merge comments as well as translations 515s (yes/no). Default is yes. 515s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 515s Usage pomigrate2 [options] 515s 515s Options: 515s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 515s -C|--use-compendium - create and use a compendium built from the migrating files 515s -C|--use-compendium=some-compendium.po 515s - use an external compendium during the migration 515s --no-wrap - do not wrap long lines 515s --locale=lang - set locale for newly born files 515s -q|--quiet - suppress most output 515s -p|--pot2po - use pot2po instead of msgmerge to migrate 515s ========= SMOKE TEST: /usr/bin/popuretext =========== 515s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 515s ========= SMOKE TEST: /usr/bin/poreencode =========== 515s Usage: poreencode 515s eg: poreencode UTF-8 af/ 515s ========= SMOKE TEST: /usr/bin/porestructure =========== 515s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 515s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 515s 515s Restructure Gettxt PO files produced by :doc:`poconflicts 515s ` into the original directory tree for merging using 515s :doc:`pomerge `. See: 515s http://docs.translatehouse.org/projects/translate- 515s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 515s 515s Options: 515s --version show program's version number and exit 515s -h, --help show this help message and exit 515s --manpage output a manpage based on the help 515s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 515s --errorlevel=ERRORLEVEL 515s show errorlevel as: none, message, exception, 515s traceback 515s -i INPUT, --input=INPUT 515s read from INPUT in po format 515s -x EXCLUDE, --exclude=EXCLUDE 515s exclude names matching EXCLUDE from input paths 515s -o OUTPUT, --output=OUTPUT 515s write to OUTPUT in po format 515s ========= SMOKE TEST: /usr/bin/posegment =========== 515s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 515s 515s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 515s See: http://docs.translatehouse.org/projects/translate- 515s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 515s 515s Options: 515s --version show program's version number and exit 515s -h, --help show this help message and exit 515s --manpage output a manpage based on the help 515s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 515s --errorlevel=ERRORLEVEL 515s show errorlevel as: none, message, exception, 515s traceback 515s -i INPUT, --input=INPUT 515s read from INPUT in po, pot, tmx, xlf, xliff formats 515s -x EXCLUDE, --exclude=EXCLUDE 515s exclude names matching EXCLUDE from input paths 515s -o OUTPUT, --output=OUTPUT 515s write to OUTPUT in po, pot, tmx, xlf, xliff formats 515s -S, --timestamp skip conversion if the output file has newer timestamp 515s -P, --pot output PO Templates (.pot) rather than PO files (.po) 515s -l LANG, --language=LANG 515s the target language code 515s --source-language=LANG 515s the source language code (default 'en') 515s --keepspaces Disable automatic stripping of whitespace 515s --only-aligned Removes units where sentence number does not 515s correspond 515s ========= SMOKE TEST: /usr/bin/poswap =========== 515s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 515s 515s Builds a new translation file with the target of the input language as source 515s language. .. note:: Ensure that the two po files correspond 100% to the same 515s pot file before using this. To translate Kurdish (ku) through French:: 515s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 515s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 515s http://docs.translatehouse.org/projects/translate- 515s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 515s 515s Options: 515s --version show program's version number and exit 515s -h, --help show this help message and exit 515s --manpage output a manpage based on the help 515s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 515s --errorlevel=ERRORLEVEL 515s show errorlevel as: none, message, exception, 515s traceback 515s -i INPUT, --input=INPUT 515s read from INPUT in po, pot formats 515s -x EXCLUDE, --exclude=EXCLUDE 515s exclude names matching EXCLUDE from input paths 515s -o OUTPUT, --output=OUTPUT 515s write to OUTPUT in po, pot formats 515s -t TEMPLATE, --template=TEMPLATE 515s read from TEMPLATE in po, pot, pot formats 515s -S, --timestamp skip conversion if the output file has newer timestamp 515s --reverse reverse the process of intermediate language 515s conversion 516s ========= SMOKE TEST: /usr/bin/pot2po =========== 516s 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] 516s 516s Convert template files (like .pot or template .xlf files) to translation 516s files, preserving existing translations. See: 516s http://docs.translatehouse.org/projects/translate- 516s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 516s 516s Options: 516s --version show program's version number and exit 516s -h, --help show this help message and exit 516s --manpage output a manpage based on the help 516s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 516s --errorlevel=ERRORLEVEL 516s show errorlevel as: none, message, exception, 516s traceback 516s -i INPUT, --input=INPUT 516s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 516s formats 516s -x EXCLUDE, --exclude=EXCLUDE 516s exclude names matching EXCLUDE from input paths 516s -o OUTPUT, --output=OUTPUT 516s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 516s xliff formats 516s -t TEMPLATE, --template=TEMPLATE 516s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 516s xliff formats 516s -S, --timestamp skip conversion if the output file has newer timestamp 516s -P, --pot output PO Templates (.pot) rather than PO files (.po) 516s --tm=TM The file to use as translation memory when fuzzy 516s matching 516s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 516s The minimum similarity for inclusion (default: 75%) 516s --nofuzzymatching Disable fuzzy matching 516s ========= SMOKE TEST: /usr/bin/poterminology =========== 516s 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] 516s input directory is searched for PO files, terminology PO file is output file 516s 516s Create a terminology file by reading a set of .po or .pot files to produce a 516s pootle-terminology.pot. See: 516s http://docs.translatehouse.org/projects/translate- 516s toolkit/en/latest/commands/poterminology.html for examples and usage 516s instructions. 516s 516s Options: 516s --version show program's version number and exit 516s -h, --help show this help message and exit 516s --manpage output a manpage based on the help 516s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 516s --errorlevel=ERRORLEVEL 516s show errorlevel as: none, message, exception, 516s traceback 516s -i INPUT, --input=INPUT 516s read from INPUT in po, pot formats 516s -x EXCLUDE, --exclude=EXCLUDE 516s exclude names matching EXCLUDE from input paths 516s -o OUTPUT, --output=OUTPUT 516s write to OUTPUT in po, pot formats 516s -u UPDATEFILE, --update=UPDATEFILE 516s update terminology in UPDATEFILE 516s -S STOPFILE, --stopword-list=STOPFILE 516s read stopword (term exclusion) list from STOPFILE 516s (default /usr/share/pyshared/translate/share/stoplist- 516s en) 516s -F, --fold-titlecase fold "Title Case" to lowercase (default) 516s -C, --preserve-case preserve all uppercase/lowercase 516s -I, --ignore-case make all terms lowercase 516s --accelerator=ACCELERATORS 516s ignore the given accelerator characters when matching 516s -t LENGTH, --term-words=LENGTH 516s generate terms of up to LENGTH words (default 3) 516s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 516s 1) 516s --inputs-needed=MIN omit terms appearing in less than MIN input files 516s (default 2, or 1 if only one input file) 516s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 516s different messages (default 1) 516s --substr-needed=MIN omit substring-only terms appearing in less than MIN 516s different messages (default 2) 516s --locs-needed=MIN omit terms appearing in less than MIN different 516s original source files (default 2) 516s --sort=ORDER output sort order(s): frequency, dictionary, length 516s (may repeat option, default is all in above order) 516s --source-language=LANG 516s the source language code (default 'en') 516s -v, --invert invert the source and target languages for terminology 516s ========= SMOKE TEST: /usr/bin/pretranslate =========== 516s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 516s 516s Fill localization files with suggested translations based on translation 516s memory and existing translations. See: 516s http://docs.translatehouse.org/projects/translate- 516s toolkit/en/latest/commands/pretranslate.html for examples and usage 516s instructions. 516s 516s Options: 516s --version show program's version number and exit 516s -h, --help show this help message and exit 516s --manpage output a manpage based on the help 516s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 516s --errorlevel=ERRORLEVEL 516s show errorlevel as: none, message, exception, 516s traceback 516s -i INPUT, --input=INPUT 516s read from INPUT in po, pot, pot, xlf, xliff formats 516s -x EXCLUDE, --exclude=EXCLUDE 516s exclude names matching EXCLUDE from input paths 516s -o OUTPUT, --output=OUTPUT 516s write to OUTPUT in po, pot, xlf, xliff formats 516s -t TEMPLATE, --template=TEMPLATE 516s read from TEMPLATE in po, pot, xlf, xliff formats 516s -S, --timestamp skip conversion if the output file has newer timestamp 516s --tm=TM The file to use as translation memory when fuzzy 516s matching 516s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 516s The minimum similarity for inclusion (default: 75%) 516s --nofuzzymatching Disable fuzzy matching 516s ========= SMOKE TEST: /usr/bin/prop2po =========== 516s 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] 516s 516s Convert Java/Mozilla .properties files to Gettext PO localization files. 516s See: http://docs.translatehouse.org/projects/translate- 516s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 516s 516s Options: 516s --version show program's version number and exit 516s -h, --help show this help message and exit 516s --manpage output a manpage based on the help 516s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 516s --errorlevel=ERRORLEVEL 516s show errorlevel as: none, message, exception, 516s traceback 516s -i INPUT, --input=INPUT 516s read from INPUT in lang, properties, strings formats 516s -x EXCLUDE, --exclude=EXCLUDE 516s exclude names matching EXCLUDE from input paths 516s -o OUTPUT, --output=OUTPUT 516s write to OUTPUT in po, pot formats 516s -t TEMPLATE, --template=TEMPLATE 516s read from TEMPLATE in lang, properties, strings 516s formats 516s -S, --timestamp skip conversion if the output file has newer timestamp 516s -P, --pot output PO Templates (.pot) rather than PO files (.po) 516s --personality=TYPE override the input file format: java, java-utf8, java- 516s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 516s strings, strings-utf8, joomla (for .properties files, 516s default: java) 516s --encoding=ENCODING override the encoding set by the personality 516s --duplicates=DUPLICATESTYLE 516s what to do with duplicate strings (identical source 516s text): merge, msgctxt (default: 'msgctxt') 517s ========= SMOKE TEST: /usr/bin/pydiff =========== 517s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 517s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 517s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 517s fromfile tofile 517s 517s positional arguments: 517s fromfile 517s tofile 517s 517s options: 517s -h, --help show this help message and exit 517s -i, --ignore-case Ignore case differences in file contents. 517s -U NUM, --unified NUM 517s Output NUM (default 3) lines of unified context 517s -r, --recursive Recursively compare any subdirectories found. 517s -N, --new-file Treat absent files as empty. 517s --unidirectional-new-file 517s Treat absent first files as empty. 517s -s, --report-identical-files 517s Report when two files are the same. 517s -x PAT, --exclude PAT 517s Exclude files that match PAT. 517s --fromcontains TEXT Only show changes where fromfile contains TEXT 517s --tocontains TEXT Only show changes where tofile contains TEXT 517s --contains TEXT Only show changes where fromfile or tofile contains 517s TEXT 517s -I, --ignore-case-contains 517s Ignore case differences when matching any of the 517s changes 517s --accelerator ACCELERATORS 517s ignores the given accelerator characters when matching 517s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 517s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 517s 517s Convert Python format .po files to PHP format .po files. 517s 517s Options: 517s --version show program's version number and exit 517s -h, --help show this help message and exit 517s --manpage output a manpage based on the help 517s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 517s --errorlevel=ERRORLEVEL 517s show errorlevel as: none, message, exception, 517s traceback 517s -i INPUT, --input=INPUT 517s read from INPUT in po, pot formats 517s -x EXCLUDE, --exclude=EXCLUDE 517s exclude names matching EXCLUDE from input paths 517s -o OUTPUT, --output=OUTPUT 517s write to OUTPUT in po, pot formats 517s -S, --timestamp skip conversion if the output file has newer timestamp 517s ========= SMOKE TEST: /usr/bin/rc2po =========== 517s 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] 517s 517s Convert Windows RC files to Gettext PO localization files. See: 517s http://docs.translatehouse.org/projects/translate- 517s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 517s 517s Options: 517s --version show program's version number and exit 517s -h, --help show this help message and exit 517s --manpage output a manpage based on the help 517s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 517s --errorlevel=ERRORLEVEL 517s show errorlevel as: none, message, exception, 517s traceback 517s -i INPUT, --input=INPUT 517s read from INPUT in nls, rc formats 517s -x EXCLUDE, --exclude=EXCLUDE 517s exclude names matching EXCLUDE from input paths 517s -o OUTPUT, --output=OUTPUT 517s write to OUTPUT in po, pot formats 517s -t TEMPLATE, --template=TEMPLATE 517s read from TEMPLATE in nls, rc formats 517s -S, --timestamp skip conversion if the output file has newer timestamp 517s -P, --pot output PO Templates (.pot) rather than PO files (.po) 517s --charset=CHARSET charset to use to decode the RC files (autodetection 517s is used by default) 517s -l LANG, --lang=LANG LANG entry (default: None) 517s --sublang=SUBLANG SUBLANG entry (default: None) 517s --duplicates=DUPLICATESTYLE 517s what to do with duplicate strings (identical source 517s text): merge, msgctxt (default: 'msgctxt') 517s ========= SMOKE TEST: /usr/bin/resx2po =========== 517s 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] 517s 517s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 517s http://docs.translatehouse.org/projects/translate- 517s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 517s 517s Options: 517s --version show program's version number and exit 517s -h, --help show this help message and exit 517s --manpage output a manpage based on the help 517s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 517s --errorlevel=ERRORLEVEL 517s show errorlevel as: none, message, exception, 517s traceback 517s -i INPUT, --input=INPUT 517s read from INPUT in resx format 517s -x EXCLUDE, --exclude=EXCLUDE 517s exclude names matching EXCLUDE from input paths 517s -o OUTPUT, --output=OUTPUT 517s write to OUTPUT in po, pot formats 517s -t TEMPLATE, --template=TEMPLATE 517s read from TEMPLATE in resx format 517s -S, --timestamp skip conversion if the output file has newer timestamp 517s -P, --pot output PO Templates (.pot) rather than PO files (.po) 517s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 517s everything) 517s --duplicates=DUPLICATESTYLE 517s what to do with duplicate strings (identical source 517s text): merge, msgctxt (default: 'msgctxt') 517s ========= SMOKE TEST: /usr/bin/sub2po =========== 517s 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] 517s 517s Convert subtitle files to Gettext PO localization files. See: 517s http://docs.translatehouse.org/projects/translate- 517s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 517s 517s Options: 517s --version show program's version number and exit 517s -h, --help show this help message and exit 517s --manpage output a manpage based on the help 517s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 517s --errorlevel=ERRORLEVEL 517s show errorlevel as: none, message, exception, 517s traceback 517s -i INPUT, --input=INPUT 517s read from INPUT in ass, srt, ssa, sub formats 517s -x EXCLUDE, --exclude=EXCLUDE 517s exclude names matching EXCLUDE from input paths 517s -o OUTPUT, --output=OUTPUT 517s write to OUTPUT in po, pot formats 517s -t TEMPLATE, --template=TEMPLATE 517s read from TEMPLATE in ass, srt, ssa, sub formats 517s -S, --timestamp skip conversion if the output file has newer timestamp 517s -P, --pot output PO Templates (.pot) rather than PO files (.po) 517s --duplicates=DUPLICATESTYLE 517s what to do with duplicate strings (identical source 517s text): merge, msgctxt (default: 'msgctxt') 517s ========= SMOKE TEST: /usr/bin/symb2po =========== 517s 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] 517s 517s Convert Symbian localisation files to Gettext PO localization files. See: 517s http://docs.translatehouse.org/projects/translate- 517s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 517s 517s Options: 517s --version show program's version number and exit 517s -h, --help show this help message and exit 517s --manpage output a manpage based on the help 517s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 517s --errorlevel=ERRORLEVEL 517s show errorlevel as: none, message, exception, 517s traceback 517s -i INPUT, --input=INPUT 517s read from INPUT in r01 format 517s -x EXCLUDE, --exclude=EXCLUDE 517s exclude names matching EXCLUDE from input paths 517s -o OUTPUT, --output=OUTPUT 517s write to OUTPUT in po, pot formats 517s -t TEMPLATE, --template=TEMPLATE 517s read from TEMPLATE in 517s -S, --timestamp skip conversion if the output file has newer timestamp 517s -P, --pot output PO Templates (.pot) rather than PO files (.po) 517s --duplicates=DUPLICATESTYLE 517s what to do with duplicate strings (identical source 517s text): merge, msgctxt (default: 'msgctxt') 518s ========= SMOKE TEST: /usr/bin/tbx2po =========== 518s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 518s 518s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 518s http://docs.translatehouse.org/projects/translate- 518s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 518s 518s Options: 518s --version show program's version number and exit 518s -h, --help show this help message and exit 518s --manpage output a manpage based on the help 518s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 518s --errorlevel=ERRORLEVEL 518s show errorlevel as: none, message, exception, 518s traceback 518s -i INPUT, --input=INPUT 518s read from INPUT in tbx format 518s -x EXCLUDE, --exclude=EXCLUDE 518s exclude names matching EXCLUDE from input paths 518s -o OUTPUT, --output=OUTPUT 518s write to OUTPUT in po, pot formats 518s -S, --timestamp skip conversion if the output file has newer timestamp 518s ========= SMOKE TEST: /usr/bin/tiki2po =========== 518s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 518s 518s Convert TikiWiki's language.php files to Gettext PO localization files. See: 518s http://docs.translatehouse.org/projects/translate- 518s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 518s 518s Options: 518s --version show program's version number and exit 518s -h, --help show this help message and exit 518s --manpage output a manpage based on the help 518s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 518s --errorlevel=ERRORLEVEL 518s show errorlevel as: none, message, exception, 518s traceback 518s -i INPUT, --input=INPUT 518s read from INPUT in php format 518s -x EXCLUDE, --exclude=EXCLUDE 518s exclude names matching EXCLUDE from input paths 518s -o OUTPUT, --output=OUTPUT 518s write to OUTPUT in po, pot formats 518s -S, --timestamp skip conversion if the output file has newer timestamp 518s --include-unused Include strings in the unused section 518s ========= SMOKE TEST: /usr/bin/tmserver =========== 518s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 518s [-s SOURCE_LANG] [-b BIND] [-p PORT] 518s [--max-candidates MAX_CANDIDATES] 518s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 518s [--debug] 518s 518s options: 518s -h, --help show this help message and exit 518s -d TMDBFILE, --tmdb TMDBFILE 518s translation memory database file 518s -f TMFILES, --import-translation-file TMFILES 518s translation file to import into the database 518s -t TARGET_LANG, --import-target-lang TARGET_LANG 518s target language of translation files 518s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 518s source language of translation files 518s -b BIND, --bind BIND address to bind server to (default: localhost) 518s -p PORT, --port PORT port to listen on (default: 8888) 518s --max-candidates MAX_CANDIDATES 518s Maximum number of candidates 518s --min-similarity MIN_SIMILARITY 518s minimum similarity 518s --max-length MAX_LENGTH 518s Maxmimum string length 518s --debug enable debugging features 518s ========= SMOKE TEST: /usr/bin/ts2po =========== 518s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 518s 518s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 518s http://docs.translatehouse.org/projects/translate- 518s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 518s 518s Options: 518s --version show program's version number and exit 518s -h, --help show this help message and exit 518s --manpage output a manpage based on the help 518s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 518s --errorlevel=ERRORLEVEL 518s show errorlevel as: none, message, exception, 518s traceback 518s -i INPUT, --input=INPUT 518s read from INPUT in ts format 518s -x EXCLUDE, --exclude=EXCLUDE 518s exclude names matching EXCLUDE from input paths 518s -o OUTPUT, --output=OUTPUT 518s write to OUTPUT in po, pot formats 518s -S, --timestamp skip conversion if the output file has newer timestamp 518s -P, --pot output PO Templates (.pot) rather than PO files (.po) 518s --duplicates=DUPLICATESTYLE 518s what to do with duplicate strings (identical source 518s text): merge, msgctxt (default: 'msgctxt') 518s ========= SMOKE TEST: /usr/bin/txt2po =========== 519s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 519s 519s Convert plain text (.txt) files to Gettext PO localization files. See: 519s http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in *, txt formats 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in po, pot formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s -P, --pot output PO Templates (.pot) rather than PO files (.po) 519s --encoding=ENCODING The encoding of the input file (default: UTF-8) 519s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 519s mediawiki 519s --no-segmentation Don't segment the file, treat it like a single message 519s --duplicates=DUPLICATESTYLE 519s what to do with duplicate strings (identical source 519s text): merge, msgctxt (default: 'msgctxt') 519s ========= SMOKE TEST: /usr/bin/web2py2po =========== 519s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 519s 519s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 519s http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in py format 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in po, pot formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s -P, --pot output PO Templates (.pot) rather than PO files (.po) 519s --duplicates=DUPLICATESTYLE 519s what to do with duplicate strings (identical source 519s text): merge, msgctxt (default: 'msgctxt') 519s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 519s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 519s 519s Convert XLIFF translation files to OpenDocument (ODF) files. See: 519s http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in xlf format 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 519s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 519s -t TEMPLATE, --template=TEMPLATE 519s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 519s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 519s formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 519s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 519s 519s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 519s file. See: http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in po, pot, xlf, xliff formats 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in oo, sdf formats 519s -t TEMPLATE, --template=TEMPLATE 519s read from TEMPLATE in oo, sdf formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s -l LANG, --language=LANG 519s set target language code (e.g. af-ZA) [required] 519s --source-language=LANG 519s set source language code (default en-US) 519s -T, --keeptimestamp don't change the timestamps of the strings 519s --nonrecursiveoutput don't treat the output oo as a recursive store 519s --nonrecursivetemplate 519s don't treat the template oo as a recursive store 519s --skipsource don't output the source language, but fallback to it 519s where needed 519s --filteraction=ACTION 519s action on pofilter failure: none (default), warn, 519s exclude-serious, exclude-all 519s --fuzzy use translations marked fuzzy 519s --nofuzzy don't use translations marked fuzzy (default) 519s --multifile=MULTIFILESTYLE 519s how to split po/pot files (single, toplevel or 519s onefile) 519s ========= SMOKE TEST: /usr/bin/xliff2po =========== 519s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 519s 519s Convert XLIFF localization files to Gettext PO localization files. See: 519s http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in xlf, xliff formats 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in po, pot formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s -P, --pot output PO Templates (.pot) rather than PO files (.po) 519s --duplicates=DUPLICATESTYLE 519s what to do with duplicate strings (identical source 519s text): merge, msgctxt (default: 'msgctxt') 519s ========= SMOKE TEST: /usr/bin/yaml2po =========== 519s 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] 519s 519s Convert YAML files to Gettext PO localization files. See: 519s http://docs.translatehouse.org/projects/translate- 519s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 519s 519s Options: 519s --version show program's version number and exit 519s -h, --help show this help message and exit 519s --manpage output a manpage based on the help 519s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 519s --errorlevel=ERRORLEVEL 519s show errorlevel as: none, message, exception, 519s traceback 519s -i INPUT, --input=INPUT 519s read from INPUT in yaml, yml formats 519s -x EXCLUDE, --exclude=EXCLUDE 519s exclude names matching EXCLUDE from input paths 519s -o OUTPUT, --output=OUTPUT 519s write to OUTPUT in po, pot formats 519s -t TEMPLATE, --template=TEMPLATE 519s read from TEMPLATE in yaml, yml formats 519s -S, --timestamp skip conversion if the output file has newer timestamp 519s -P, --pot output PO Templates (.pot) rather than PO files (.po) 519s --duplicates=DUPLICATESTYLE 519s what to do with duplicate strings (identical source 519s text): merge, msgctxt (default: 'msgctxt') 520s autopkgtest [17:52:32]: test translate-toolkit: -----------------------] 521s translate-toolkit PASS 521s autopkgtest [17:52:33]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 521s autopkgtest [17:52:33]: test python3-translate: preparing testbed 626s autopkgtest [17:54:18]: testbed dpkg architecture: arm64 627s autopkgtest [17:54:19]: testbed apt version: 2.7.14build2 627s autopkgtest [17:54:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 627s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 627s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 627s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1762 kB] 628s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 628s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [141 kB] 628s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [212 kB] 628s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [13.1 kB] 628s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [1311 kB] 628s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [21.5 kB] 628s Fetched 3552 kB in 1s (3114 kB/s) 628s Reading package lists... 631s Reading package lists... 631s Building dependency tree... 631s Reading state information... 631s Calculating upgrade... 632s The following packages will be upgraded: 632s cloud-init hwdata libaio1t64 pci.ids 632s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 632s Need to get 918 kB of archives. 632s After this operation, 69.6 kB of additional disk space will be used. 632s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 pci.ids all 0.0~2024.04.20-1 [276 kB] 632s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 hwdata all 0.380-1 [29.2 kB] 632s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libaio1t64 arm64 0.3.113-8 [7310 B] 632s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 cloud-init all 24.2~2g51c6569f-0ubuntu1 [606 kB] 633s Preconfiguring packages ... 633s Fetched 918 kB in 1s (1622 kB/s) 633s (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 ... 77723 files and directories currently installed.) 633s Preparing to unpack .../pci.ids_0.0~2024.04.20-1_all.deb ... 633s Unpacking pci.ids (0.0~2024.04.20-1) over (0.0~2024.03.31-1) ... 633s Preparing to unpack .../hwdata_0.380-1_all.deb ... 633s Unpacking hwdata (0.380-1) over (0.379-1) ... 633s Preparing to unpack .../libaio1t64_0.3.113-8_arm64.deb ... 633s Unpacking libaio1t64:arm64 (0.3.113-8) over (0.3.113-6build1) ... 633s Preparing to unpack .../cloud-init_24.2~2g51c6569f-0ubuntu1_all.deb ... 633s Unpacking cloud-init (24.2~2g51c6569f-0ubuntu1) over (24.1.3-0ubuntu3) ... 634s Setting up pci.ids (0.0~2024.04.20-1) ... 634s Setting up cloud-init (24.2~2g51c6569f-0ubuntu1) ... 634s Installing new version of config file /etc/cloud/templates/sources.list.ubuntu.deb822.tmpl ... 635s Setting up hwdata (0.380-1) ... 635s Setting up libaio1t64:arm64 (0.3.113-8) ... 635s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 635s Processing triggers for man-db (2.12.0-4build2) ... 636s Processing triggers for libc-bin (2.39-0ubuntu8) ... 636s Reading package lists... 637s Building dependency tree... 637s Reading state information... 637s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 637s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 638s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 638s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 638s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 639s Reading package lists... 639s Reading package lists... 639s Building dependency tree... 639s Reading state information... 639s Calculating upgrade... 640s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 640s Reading package lists... 640s Building dependency tree... 640s Reading state information... 641s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 641s autopkgtest [17:54:33]: rebooting testbed after setup commands that affected boot 670s Reading package lists... 670s Building dependency tree... 670s Reading state information... 670s Starting pkgProblemResolver with broken count: 0 671s Starting 2 pkgProblemResolver with broken count: 0 671s Done 671s The following additional packages will be installed: 671s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 671s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 671s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 671s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 671s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 671s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 671s python3-more-itertools python3-packaging python3-phply python3-pluggy 671s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 671s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 671s python3-soupsieve python3-syrupy python3-translate python3-vobject 671s python3-xapian subversion 671s Suggested packages: 671s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 671s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 671s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 671s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 671s libapache2-mod-svn subversion-tools 671s Recommended packages: 671s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 671s python3-cssselect python3-html5lib 671s The following NEW packages will be installed: 671s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 671s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 671s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 671s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 671s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 671s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 671s python3-mistletoe python3-more-itertools python3-packaging python3-phply 671s python3-pluggy python3-ply python3-pycountry python3-pytest 671s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 671s python3-simplejson python3-soupsieve python3-syrupy python3-translate 671s python3-vobject python3-xapian subversion 672s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 672s Need to get 10.3 MB/10.3 MB of archives. 672s After this operation, 48.8 MB of additional disk space will be used. 672s Get:1 /tmp/autopkgtest.hqz7bz/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [876 B] 672s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 672s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 672s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14-20240412-0ubuntu1 [144 kB] 672s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.21-14ubuntu2 [845 kB] 672s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 672s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.1build2 [105 kB] 672s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-1.1ubuntu7 [93.9 kB] 672s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 672s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 672s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 672s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 672s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-1build2 [48.6 kB] 672s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 672s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-1build4 [1339 kB] 672s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 672s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 672s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.11-2 [221 kB] 672s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-all arm64 3.12.3-0ubuntu1 [888 B] 672s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 672s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 672s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 672s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 672s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 672s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 673s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 673s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 673s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 673s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-1 [990 kB] 673s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-2 [108 kB] 673s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.1-1 [1179 kB] 673s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 673s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.0-1 [41.1 kB] 673s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 673s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 673s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.4.0-1 [20.4 kB] 673s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 673s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 673s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 673s Get:40 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 673s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 673s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 673s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 673s Get:44 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-xapian arm64 1.4.25-1 [420 kB] 673s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-1build4 [906 kB] 673s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 673s Get:47 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 673s Preconfiguring packages ... 673s Fetched 10.3 MB in 1s (8013 kB/s) 674s Selecting previously unselected package emacsen-common. 674s (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 ... 77730 files and directories currently installed.) 674s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 674s Unpacking emacsen-common (3.0.5) ... 674s Selecting previously unselected package dictionaries-common. 674s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 674s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 674s Unpacking dictionaries-common (1.29.7) ... 674s Selecting previously unselected package libgomp1:arm64. 674s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_arm64.deb ... 674s Unpacking libgomp1:arm64 (14-20240412-0ubuntu1) ... 674s Selecting previously unselected package gettext. 674s Preparing to unpack .../03-gettext_0.21-14ubuntu2_arm64.deb ... 674s Unpacking gettext (0.21-14ubuntu2) ... 674s Selecting previously unselected package hunspell-en-us. 674s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 674s Unpacking hunspell-en-us (1:2020.12.07-2) ... 674s Selecting previously unselected package libapr1t64:arm64. 674s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_arm64.deb ... 674s Unpacking libapr1t64:arm64 (1.7.2-3.1build2) ... 674s Selecting previously unselected package libaprutil1t64:arm64. 674s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_arm64.deb ... 674s Unpacking libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 674s Selecting previously unselected package libaspell15:arm64. 674s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 674s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 674s Selecting previously unselected package libhunspell-1.7-0:arm64. 674s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 674s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 674s Selecting previously unselected package libenchant-2-2:arm64. 674s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 674s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 674s Selecting previously unselected package libexttextcat-data. 674s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 674s Unpacking libexttextcat-data (3.4.7-1build1) ... 674s Selecting previously unselected package libserf-1-1:arm64. 674s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_arm64.deb ... 674s Unpacking libserf-1-1:arm64 (1.3.10-1build2) ... 674s Selecting previously unselected package libutf8proc3:arm64. 674s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 674s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 674s Selecting previously unselected package libsvn1:arm64. 674s Preparing to unpack .../13-libsvn1_1.14.3-1build4_arm64.deb ... 674s Unpacking libsvn1:arm64 (1.14.3-1build4) ... 675s Selecting previously unselected package libxapian30:arm64. 675s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 675s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 675s Selecting previously unselected package libxslt1.1:arm64. 675s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 675s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 675s Selecting previously unselected package python3-aeidon. 675s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 675s Unpacking python3-aeidon (1.11-2) ... 675s Selecting previously unselected package python3-all. 675s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_arm64.deb ... 675s Unpacking python3-all (3.12.3-0ubuntu1) ... 675s Selecting previously unselected package python3-soupsieve. 675s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 675s Unpacking python3-soupsieve (2.5-1) ... 675s Selecting previously unselected package python3-bs4. 675s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 675s Unpacking python3-bs4 (4.12.3-1) ... 675s Selecting previously unselected package python3-more-itertools. 675s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 675s Unpacking python3-more-itertools (10.2.0-1) ... 675s Selecting previously unselected package python3-jaraco.functools. 675s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 675s Unpacking python3-jaraco.functools (4.0.0-1) ... 675s Selecting previously unselected package python3-cheroot. 675s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 675s Unpacking python3-cheroot (10.0.0+ds1-2) ... 675s Selecting previously unselected package python3-dateutil. 675s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 675s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 675s Selecting previously unselected package python3-diff-match-patch. 675s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 675s Unpacking python3-diff-match-patch (20230430-1) ... 675s Selecting previously unselected package python3-enchant. 675s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 675s Unpacking python3-enchant (3.2.2-1) ... 675s Selecting previously unselected package python3-iniconfig. 675s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 675s Unpacking python3-iniconfig (1.1.1-2) ... 675s Selecting previously unselected package python3-rapidfuzz. 675s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-1_arm64.deb ... 675s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 675s Selecting previously unselected package python3-levenshtein. 675s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_arm64.deb ... 675s Unpacking python3-levenshtein (0.25.1-2) ... 675s Selecting previously unselected package python3-lxml:arm64. 675s Preparing to unpack .../29-python3-lxml_5.2.1-1_arm64.deb ... 675s Unpacking python3-lxml:arm64 (5.2.1-1) ... 675s Selecting previously unselected package python3-mistletoe. 675s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 675s Unpacking python3-mistletoe (1.3.0-1) ... 675s Selecting previously unselected package python3-packaging. 675s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 675s Unpacking python3-packaging (24.0-1) ... 675s Selecting previously unselected package python3-ply. 675s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 675s Unpacking python3-ply (3.11-6) ... 675s Selecting previously unselected package python3-phply. 675s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 675s Unpacking python3-phply (1.2.6-1) ... 675s Selecting previously unselected package python3-pluggy. 675s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 675s Unpacking python3-pluggy (1.4.0-1) ... 675s Selecting previously unselected package python3-pytest. 675s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 675s Unpacking python3-pytest (7.4.4-1) ... 676s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 676s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 676s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 676s Selecting previously unselected package python3-ruamel.yaml. 676s Preparing to unpack .../37-python3-ruamel.yaml_0.17.21-1_all.deb ... 676s Unpacking python3-ruamel.yaml (0.17.21-1) ... 676s Selecting previously unselected package python3-simplejson. 676s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_arm64.deb ... 676s Unpacking python3-simplejson (3.19.2-1build2) ... 676s Selecting previously unselected package python3-syrupy. 676s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 676s Unpacking python3-syrupy (4.6.1-1) ... 676s Selecting previously unselected package python3-translate. 676s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 676s Unpacking python3-translate (3.12.2-1ubuntu1) ... 676s Selecting previously unselected package python3-vobject. 676s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 676s Unpacking python3-vobject (0.9.6.1-2) ... 676s Selecting previously unselected package python3-xapian. 676s Preparing to unpack .../42-python3-xapian_1.4.25-1_arm64.deb ... 676s Unpacking python3-xapian (1.4.25-1) ... 676s Selecting previously unselected package subversion. 676s Preparing to unpack .../43-subversion_1.14.3-1build4_arm64.deb ... 676s Unpacking subversion (1.14.3-1build4) ... 676s Selecting previously unselected package python3-iniparse. 676s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 676s Unpacking python3-iniparse (0.5-2) ... 676s Selecting previously unselected package python3-pycountry. 676s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 676s Unpacking python3-pycountry (23.12.11+ds1-2) ... 676s Selecting previously unselected package autopkgtest-satdep. 676s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 676s Unpacking autopkgtest-satdep (0) ... 676s Setting up python3-more-itertools (10.2.0-1) ... 676s Setting up python3-iniconfig (1.1.1-2) ... 676s Setting up libxapian30:arm64 (1.4.22-1build1) ... 676s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 676s Setting up python3-diff-match-patch (20230430-1) ... 677s Setting up python3-jaraco.functools (4.0.0-1) ... 677s Setting up python3-aeidon (1.11-2) ... 677s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 677s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 677s Setting up python3-ply (3.11-6) ... 677s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 677s Setting up python3-all (3.12.3-0ubuntu1) ... 677s Setting up libgomp1:arm64 (14-20240412-0ubuntu1) ... 677s Setting up python3-simplejson (3.19.2-1build2) ... 677s Setting up python3-packaging (24.0-1) ... 677s Setting up emacsen-common (3.0.5) ... 677s Setting up python3-cheroot (10.0.0+ds1-2) ... 678s Setting up python3-pycountry (23.12.11+ds1-2) ... 678s Setting up python3-xapian (1.4.25-1) ... 678s Setting up python3-pluggy (1.4.0-1) ... 678s Setting up python3-ruamel.yaml (0.17.21-1) ... 678s Setting up python3-mistletoe (1.3.0-1) ... 678s Setting up libexttextcat-data (3.4.7-1build1) ... 678s Setting up libapr1t64:arm64 (1.7.2-3.1build2) ... 678s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 678s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 679s Setting up python3-levenshtein (0.25.1-2) ... 679s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 679s Setting up python3-soupsieve (2.5-1) ... 679s Setting up python3-iniparse (0.5-2) ... 679s Setting up libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 679s Setting up python3-vobject (0.9.6.1-2) ... 679s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 679s patterns['name'] = '[a-zA-Z0-9\-_]+' 679s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 679s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 679s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 679s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 679s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 679s """ 679s Setting up gettext (0.21-14ubuntu2) ... 679s Setting up python3-phply (1.2.6-1) ... 679s Setting up dictionaries-common (1.29.7) ... 680s Setting up python3-pytest (7.4.4-1) ... 680s Setting up python3-syrupy (4.6.1-1) ... 680s Setting up libserf-1-1:arm64 (1.3.10-1build2) ... 680s Setting up python3-bs4 (4.12.3-1) ... 680s Setting up python3-lxml:arm64 (5.2.1-1) ... 681s Setting up hunspell-en-us (1:2020.12.07-2) ... 681s Setting up libsvn1:arm64 (1.14.3-1build4) ... 681s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 681s Setting up subversion (1.14.3-1build4) ... 681s Setting up python3-enchant (3.2.2-1) ... 681s Setting up python3-translate (3.12.2-1ubuntu1) ... 681s Setting up autopkgtest-satdep (0) ... 681s Processing triggers for man-db (2.12.0-4build2) ... 683s Processing triggers for install-info (7.1-3build2) ... 683s Processing triggers for libc-bin (2.39-0ubuntu8) ... 683s Processing triggers for dictionaries-common (1.29.7) ... 688s (Reading database ... 81188 files and directories currently installed.) 688s Removing autopkgtest-satdep (0) ... 690s autopkgtest [17:55:22]: test python3-translate: [----------------------- 691s ============================= test session starts ============================== 691s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 691s cachedir: .pytest_cache 691s rootdir: /tmp/autopkgtest.hqz7bz/autopkgtest_tmp 691s plugins: syrupy-4.6.1 697s collecting ... collected 3313 items / 2 skipped 697s 697s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 697s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 697s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 697s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 697s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 697s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 697s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 697s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 698s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 698s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 698s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 698s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 698s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 698s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 698s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 698s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 698s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 698s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 698s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 698s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 698s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 698s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 698s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 698s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 698s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 698s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 698s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 698s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 698s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 698s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 699s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 699s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 699s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 699s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 699s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 699s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 699s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 699s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 699s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 699s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 699s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 699s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 699s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 699s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 699s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 699s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 699s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 699s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 699s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 699s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 699s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 699s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 699s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 700s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 700s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 700s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 700s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 700s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 700s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 700s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 700s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 700s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 700s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 700s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 700s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 700s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 700s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 700s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 700s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 700s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 700s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 700s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 700s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 700s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 700s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 700s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 700s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 701s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 701s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 701s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 701s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 701s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 701s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 701s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 701s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 701s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 701s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 701s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 701s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 701s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 701s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 701s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 701s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 701s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 701s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 701s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 701s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 701s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 701s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 701s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 701s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 701s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 701s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 701s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 701s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 702s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 702s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 702s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 702s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 702s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 702s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 702s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 702s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 702s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 702s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 702s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 702s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 702s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 702s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 702s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 702s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 702s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 702s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 702s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 702s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 702s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 702s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 702s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 702s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 702s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 702s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 702s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 702s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 702s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 702s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 702s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 702s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 702s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 702s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 702s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 702s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 702s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 702s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 702s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 702s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 702s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 702s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 702s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 702s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 702s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 702s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 702s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 702s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 702s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 702s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 702s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 702s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 702s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 702s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 702s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 702s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 702s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 702s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 702s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 702s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 703s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 703s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 703s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 703s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 703s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 703s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 703s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 703s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 703s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 703s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 703s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 703s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 703s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 703s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 703s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 703s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 703s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 703s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 703s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 703s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 703s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 703s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 703s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 703s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 703s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 703s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 703s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 703s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 703s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 703s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 704s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 704s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 704s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 704s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 704s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 704s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 704s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 704s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 705s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 705s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 705s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 705s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 705s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 705s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 705s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 705s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 705s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 705s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 705s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 705s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 706s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 706s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 706s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 706s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 706s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 706s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 706s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 706s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 706s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 706s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 706s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 706s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 706s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 706s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 706s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 706s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 706s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 706s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 707s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 707s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 707s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 708s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 708s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 708s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 708s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 708s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 708s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 708s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 708s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 708s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 708s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 708s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 708s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 708s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 708s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 708s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 708s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 708s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 708s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 708s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 708s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 708s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 708s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 708s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 708s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 708s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 708s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 708s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 708s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 708s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 708s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 708s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 708s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 708s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 708s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 709s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 709s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 709s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 709s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 709s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 709s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 709s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 709s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 709s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 709s 709s =============================== warnings summary =============================== 709s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 709s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 709s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 709s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 709s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 709s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 709s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 709s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 709s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 709s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 709s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 709s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 709s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 709s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 709s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 709s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 709s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 709s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 709s Warning: Could not find accesskey for key.accesskey 709s 709s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 709s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 709s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 709s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 709s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 709s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/translate/convert/test.idml'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 709s Warning: unclosed file <_io.BufferedReader name='translation.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 709s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 709s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 709s Warning: Could not find accesskey for prop.accesskey 709s 709s tests/translate/convert/test_po2tmx.py: 26 warnings 709s tests/translate/filters/test_pofilter.py: 13 warnings 709s tests/translate/storage/test_tbx.py: 17 warnings 709s tests/translate/storage/test_tmx.py: 24 warnings 709s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 709s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 709s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 709s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 709s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 709s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 709s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 709s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 709s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 709s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 709s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 709s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/translate/convert/test.odt'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 709s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 709s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 709s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 709s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 709s Enable tracemalloc to get traceback where the object was allocated. 709s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 709s 709s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 709s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 709s 709s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 709s Warning: DTD file '' does not validate 709s 709s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 709s --------------------------- snapshot report summary ---------------------------- 709s 23 snapshots passed. 709s =========================== short test summary info ============================ 709s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 709s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 709s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 709s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 709s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 709s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 709s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 709s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 709s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 709s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 709s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 709s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 709s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 709s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 709s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 709s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 709s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 709s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 709s 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. 709s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 709s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 709s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 709s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 709s 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 709s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 709s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 709s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 709s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 709s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 709s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 709s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 709s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 709s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 709s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 709s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 709s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 709s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 18.55s ========== 711s autopkgtest [17:55:43]: test python3-translate: -----------------------] 712s python3-translate PASS 712s autopkgtest [17:55:44]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 712s autopkgtest [17:55:44]: test python3-translate-commands: preparing testbed 713s Reading package lists... 713s Building dependency tree... 713s Reading state information... 714s Starting pkgProblemResolver with broken count: 0 714s Starting 2 pkgProblemResolver with broken count: 0 714s Done 714s The following additional packages will be installed: 714s translate-toolkit 714s Recommended packages: 714s translate-toolkit-doc 714s The following NEW packages will be installed: 714s autopkgtest-satdep translate-toolkit 714s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 714s Need to get 88.2 kB/89.1 kB of archives. 714s After this operation, 253 kB of additional disk space will be used. 714s Get:1 /tmp/autopkgtest.hqz7bz/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [884 B] 715s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 715s Fetched 88.2 kB in 0s (246 kB/s) 715s Selecting previously unselected package translate-toolkit. 715s (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 ... 81188 files and directories currently installed.) 715s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 715s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 716s Selecting previously unselected package autopkgtest-satdep. 716s Preparing to unpack .../3-autopkgtest-satdep.deb ... 716s Unpacking autopkgtest-satdep (0) ... 716s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 716s Setting up autopkgtest-satdep (0) ... 716s Processing triggers for man-db (2.12.0-4build2) ... 720s (Reading database ... 81361 files and directories currently installed.) 720s Removing autopkgtest-satdep (0) ... 720s autopkgtest [17:55:52]: test python3-translate-commands: [----------------------- 721s ============================= test session starts ============================== 721s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 721s cachedir: .pytest_cache 721s rootdir: /tmp/autopkgtest.hqz7bz/autopkgtest_tmp 721s plugins: syrupy-4.6.1 727s collecting ... collected 3313 items / 2 skipped 727s 727s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 727s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 727s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 727s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 727s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 727s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 727s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 727s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 727s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 727s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 728s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 728s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 728s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 728s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 728s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 728s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 728s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 728s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 728s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 728s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 728s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 728s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 728s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 728s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 728s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 728s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 728s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 728s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 728s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 728s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 728s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 728s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 728s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 728s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 728s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 729s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 729s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 729s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 729s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 729s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 729s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 729s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 729s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 729s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 729s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 729s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 729s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 729s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 729s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 729s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 729s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 730s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 730s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 730s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 730s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 730s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 730s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 730s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 730s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 730s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 730s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 730s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 730s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 730s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 730s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 730s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 730s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 730s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 730s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 730s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 730s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 730s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 731s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 731s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 731s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 731s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 731s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 731s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 731s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 731s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 731s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 731s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 731s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 731s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 731s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 731s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 731s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 731s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 731s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 731s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 731s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 731s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 731s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 731s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 731s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 731s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 731s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 731s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 731s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 731s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 731s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 731s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 731s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 732s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 732s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 732s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 732s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 732s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 732s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 732s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 732s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 732s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 732s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 732s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 732s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 732s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 732s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 732s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 732s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 732s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 732s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 732s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 732s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 732s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 732s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 732s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 732s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 732s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 732s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 732s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 732s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 732s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 732s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 732s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 732s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 732s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 732s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 732s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 732s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 732s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 732s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 732s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 732s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 732s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 732s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 732s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 732s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 732s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 732s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 732s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 732s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 732s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 732s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 732s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 732s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 732s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 732s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 732s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 732s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 732s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 732s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 733s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 733s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 733s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 733s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 733s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 733s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 733s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 733s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 733s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 733s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 733s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 733s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 733s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 733s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 733s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 733s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 733s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 733s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 733s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 733s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 733s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 733s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 734s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 734s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 734s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 734s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 734s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 734s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 734s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 734s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 734s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 734s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 735s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 735s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 735s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 735s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 735s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 735s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 735s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 735s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 736s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 736s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 736s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 736s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 736s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 736s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 736s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 736s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 736s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 736s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 737s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 737s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 737s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 737s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 737s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 737s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 737s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 737s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 737s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 737s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 737s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 737s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 737s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 737s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 737s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 737s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 737s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 737s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 737s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 737s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 737s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 737s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 739s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 739s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 739s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 739s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 739s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 739s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 739s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 739s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 739s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 739s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 739s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 739s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 739s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 739s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 739s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 739s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 739s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 740s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 740s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 740s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 740s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 740s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 741s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 742s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 742s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 742s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 742s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 742s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 742s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 742s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 742s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 742s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 742s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 742s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 742s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 742s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 742s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 742s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 742s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 742s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 742s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 742s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 743s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 743s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 743s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 743s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 743s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 743s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 743s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 743s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 743s 743s =============================== warnings summary =============================== 743s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 743s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 743s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 743s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 743s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 743s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 743s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 743s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 743s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 743s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 743s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 743s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 743s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 743s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 743s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 743s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 743s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 743s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 743s Warning: Could not find accesskey for key.accesskey 743s 743s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 743s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 743s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 743s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 743s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 743s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/translate/convert/test.idml'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 743s Warning: unclosed file <_io.BufferedReader name='translation.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 743s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 743s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 743s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 743s Warning: Could not find accesskey for prop.accesskey 743s 743s tests/translate/convert/test_po2tmx.py: 26 warnings 743s tests/translate/filters/test_pofilter.py: 13 warnings 743s tests/translate/storage/test_tbx.py: 17 warnings 743s tests/translate/storage/test_tmx.py: 24 warnings 743s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 743s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 743s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 743s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 743s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 743s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 743s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 743s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 743s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 743s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 743s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 743s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.hqz7bz/autopkgtest_tmp/tests/translate/convert/test.odt'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 743s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 743s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 743s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 743s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 743s Enable tracemalloc to get traceback where the object was allocated. 743s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 743s 743s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 743s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 743s 743s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 743s Warning: DTD file '' does not validate 743s 743s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 743s --------------------------- snapshot report summary ---------------------------- 743s 23 snapshots passed. 743s =========================== short test summary info ============================ 743s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 743s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 743s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 743s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 743s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 743s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 743s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 743s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 743s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 743s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 743s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 743s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 743s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 743s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 743s 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. 743s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 743s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 743s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 743s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 743s 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 743s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 743s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 743s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 743s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 743s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 743s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 743s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 743s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 743s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 743s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 743s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 743s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 743s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 22.21s ========== 745s autopkgtest [17:56:17]: test python3-translate-commands: -----------------------] 746s python3-translate-commands PASS 746s autopkgtest [17:56:18]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 746s autopkgtest [17:56:18]: @@@@@@@@@@@@@@@@@@@@ summary 746s translate-toolkit PASS 746s python3-translate PASS 746s python3-translate-commands PASS 750s Creating nova instance adt-oracular-arm64-translate-toolkit-20240504-174352-juju-7f2275-prod-proposed-migration-environment-3-ecf58d09-a840-4a25-a8cc-99073a66dd5e from image adt/ubuntu-oracular-arm64-server-20240503.img (UUID 7a5d54e7-5cb6-46af-acdb-9fa7fb6d34c9)...