[Python-modules-team] Bug#943937: suds: failing tests with python3.8

Steve Langasek steve.langasek at canonical.com
Fri Nov 1 06:36:07 GMT 2019


Package: suds
Version: 0.7~git20150727.94664dd-7
Severity: important
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Dear maintainers,

The suds package fails to build from source in Ubuntu focal, because Ubuntu
has begun the transition to python3.8 and suds is not source-compatible with
python3.8:

[...]
=================================== FAILURES ===================================
_ TestRequest.test_string_representation_with_message[-headers1-for a bitch it's haaaard...] _

self = <test_transport.TestRequest object at 0x7ffbce580fd0>, url = ''
headers = {b'aaa': b'uf-uf'}, message = "for a bitch it's haaaard..."

        @pytest.mark.parametrize(("url", "headers", "message"), (
            ("my URL", {}, ""),
            ("", {"aaa": "uf-uf"}, "for a bitch it's haaaard..."),
            ("http://rumple-fif/muka-laka-hiki", {"uno": "eins", "zwei": "due"},
                """\
    I'm here to kick ass,
    and chew bubble gum...
    and I'm all out of gum."""),
            ("", {}, u("\u0161u\u0107-mu\u0107 pa o\u017Ee\u017Ei.. za 100 "
                "\u20AC\n\nwith multiple\nlines...")),
            ("", {}, "\n\n\n\n\n\n"),
            ("", {}, u("\u4E2D\u539F\u5343\u519B\u9010\u848B"))))
        def test_string_representation_with_message(self, url, headers, message):
>           for key, value in headers.items():
E           RuntimeError: dictionary keys changed during iteration

tests/test_transport.py:143: RuntimeError
_ TestRequest.test_string_representation_with_message[http://rumple-fif/muka-laka-hiki-headers2-I'm here to kick ass,\nand chew bubble gum...\nand I'm all out of gum.] _

self = <test_transport.TestRequest object at 0x7ffbce313a60>
url = 'http://rumple-fif/muka-laka-hiki'
headers = {b'uno': b'eins', b'zwei': b'due'}
message = "I'm here to kick ass,\nand chew bubble gum...\nand I'm all out of gum."

        @pytest.mark.parametrize(("url", "headers", "message"), (
            ("my URL", {}, ""),
            ("", {"aaa": "uf-uf"}, "for a bitch it's haaaard..."),
            ("http://rumple-fif/muka-laka-hiki", {"uno": "eins", "zwei": "due"},
                """\
    I'm here to kick ass,
    and chew bubble gum...
    and I'm all out of gum."""),
            ("", {}, u("\u0161u\u0107-mu\u0107 pa o\u017Ee\u017Ei.. za 100 "
                "\u20AC\n\nwith multiple\nlines...")),
            ("", {}, "\n\n\n\n\n\n"),
            ("", {}, u("\u4E2D\u539F\u5343\u519B\u9010\u848B"))))
        def test_string_representation_with_message(self, url, headers, message):
>           for key, value in headers.items():
E           RuntimeError: dictionary keys changed during iteration

tests/test_transport.py:143: RuntimeError
[...]
=== 2 failed, 1801 passed, 6 skipped, 26 xfailed, 7 warnings in 6.05 seconds ===
E: pybuild pybuild:341: test: plugin distutils failed with: exit code=1: cd '/<<
PKGBUILDDIR>>/.pybuild/cpython3_3.8_suds/build'; python3.8 -m pytest tests
[...]

  (https://launchpad.net/ubuntu/+source/suds/0.7~git20150727.94664dd-7/+build/17973233)

Debian has not yet started the transition to python3.8 - the version of
python3-defaults that adds python3.8 as supported is currently in
experimental - but this will eventually become a serious bug in Debian as
well once that transition begins.

For the moment I have worked around the failure in Ubuntu by changing the
packaging to test only against the current version of python3 and not
against all supported versions, but this is a very short-term fix given that
python3.8 will become the default in the next 6 months.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru suds-0.7~git20150727.94664dd/debian/control suds-0.7~git20150727.94664dd/debian/control
--- suds-0.7~git20150727.94664dd/debian/control	2019-10-06 19:14:20.000000000 -0700
+++ suds-0.7~git20150727.94664dd/debian/control	2019-10-31 23:31:09.000000000 -0700
@@ -6,7 +6,7 @@
            Thomas Goirand <zigo at debian.org>,
 Build-Depends: debhelper-compat (= 12),
                dh-python,
-               python3-all,
+               python3,
                python3-setuptools,
 Build-Depends-Indep: python3-pytest,
                      python3-six,


More information about the Python-modules-team mailing list