Source: spyne
Version: 2.14.0-5
Severity: normal
User: debian-pyt...@lists.debian.org
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html
The cgi module was removed in 3.13.

Log snippet:

   dh_auto_test -O-v -O--buildsystem=pybuild
        pybuild --test --test-pytest -i python{version} -p "3.13 3.12"
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest --ignore=spyne/test/interop --ignore=examples -k 'not 
test_msgpack'
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build
configfile: pytest.ini
plugins: typeguard-4.3.0
collected 397 items / 19 errors / 3 deselected / 394 selected

==================================== ERRORS ====================================
___________ ERROR collecting spyne/test/interface/test_interface.py ____________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/test_interface.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/test_interface.py:27: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
______________ ERROR collecting spyne/test/interface/test_wsgi.py ______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/test_wsgi.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/test_wsgi.py:25: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
___________ ERROR collecting spyne/test/interface/test_xml_schema.py ___________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/test_xml_schema.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/test_xml_schema.py:40: in <module>
    from spyne.protocol.soap import Soap11, Soap12
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_________ ERROR collecting spyne/test/interface/wsdl/test_bindings.py __________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/wsdl/test_bindings.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/wsdl/__init__.py:22: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_______ ERROR collecting spyne/test/interface/wsdl/test_default_wsdl.py ________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/wsdl/test_default_wsdl.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/wsdl/__init__.py:22: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_______ ERROR collecting spyne/test/interface/wsdl/test_op_req_suffix.py _______
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/wsdl/test_op_req_suffix.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/wsdl/__init__.py:22: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
____ ERROR collecting spyne/test/interface/wsdl/test_wsdl_ports_services.py ____
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/interface/wsdl/test_wsdl_ports_services.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/interface/wsdl/__init__.py:22: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_______________ ERROR collecting spyne/test/model/test_binary.py _______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/model/test_binary.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/model/test_binary.py:23: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
______________ ERROR collecting spyne/test/model/test_complex.py _______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/model/test_complex.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/model/test_complex.py:42: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
------------------------------- Captured stdout --------------------------------
SUBPATTERN 1 0 0
  IN
    LITERAL 91
    LITERAL 93
SUBPATTERN 2 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 58
      LITERAL 46
      LITERAL 84
      LITERAL 45
LITERAL 44
SUBPATTERN 3 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 58
      LITERAL 46
      LITERAL 84
      LITERAL 45
SUBPATTERN 4 0 0
  IN
    LITERAL 91
    LITERAL 93

 0. INFO 9 0b100 5 MAXREPEAT (to 10)
      in
 5.     LITERAL 0x5b ('[')
 7.     LITERAL 0x5d (']')
 9.     FAILURE
10: MARK 0
12. IN 6 (to 19)
14.   LITERAL 0x5b ('[')
16.   LITERAL 0x5d (']')
18.   FAILURE
19: MARK 1
21. MARK 2
23. REPEAT_ONE 16 1 MAXREPEAT (to 40)
27.   IN 11 (to 39)
29.     CHARSET [0x00000000, 0x07ff6000, 0x00100000, 0x00000000, 0x00000000, 
0x00000000, 0x00000000, 0x00000000]
38.     FAILURE
39:   SUCCESS
40: MARK 3
42. LITERAL 0x2c (',')
44. MARK 4
46. REPEAT_ONE 16 1 MAXREPEAT (to 63)
50.   IN 11 (to 62)
52.     CHARSET [0x00000000, 0x07ff6000, 0x00100000, 0x00000000, 0x00000000, 
0x00000000, 0x00000000, 0x00000000]
61.     FAILURE
62:   SUCCESS
63: MARK 5
65. MARK 6
67. IN 6 (to 74)
69.   LITERAL 0x5b ('[')
71.   LITERAL 0x5d (']')
73.   FAILURE
74: MARK 7
76. SUCCESS
SUBPATTERN 1 0 0
  IN
    LITERAL 91
    LITERAL 93
SUBPATTERN 2 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 45
LITERAL 44
SUBPATTERN 3 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 45
SUBPATTERN 4 0 0
  IN
    LITERAL 91
    LITERAL 93

 0. INFO 9 0b100 5 MAXREPEAT (to 10)
      in
 5.     LITERAL 0x5b ('[')
 7.     LITERAL 0x5d (']')
 9.     FAILURE
10: MARK 0
12. IN 6 (to 19)
14.   LITERAL 0x5b ('[')
16.   LITERAL 0x5d (']')
18.   FAILURE
19: MARK 1
21. MARK 2
23. REPEAT_ONE 12 1 MAXREPEAT (to 36)
27.   IN 7 (to 35)
29.     RANGE 0x30 0x39 ('0'-'9')
32.     LITERAL 0x2d ('-')
34.     FAILURE
35:   SUCCESS
36: MARK 3
38. LITERAL 0x2c (',')
40. MARK 4
42. REPEAT_ONE 12 1 MAXREPEAT (to 55)
46.   IN 7 (to 54)
48.     RANGE 0x30 0x39 ('0'-'9')
51.     LITERAL 0x2d ('-')
53.     FAILURE
54:   SUCCESS
55: MARK 5
57. MARK 6
59. IN 6 (to 66)
61.   LITERAL 0x5b ('[')
63.   LITERAL 0x5d (']')
65.   FAILURE
66: MARK 7
68. SUCCESS
SUBPATTERN 1 0 0
  IN
    LITERAL 91
    LITERAL 93
SUBPATTERN 2 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 58
      LITERAL 46
LITERAL 44
SUBPATTERN 3 0 0
  MAX_REPEAT 1 MAXREPEAT
    IN
      RANGE (48, 57)
      LITERAL 58
      LITERAL 46
SUBPATTERN 4 0 0
  IN
    LITERAL 91
    LITERAL 93

 0. INFO 9 0b100 5 MAXREPEAT (to 10)
      in
 5.     LITERAL 0x5b ('[')
 7.     LITERAL 0x5d (']')
 9.     FAILURE
10: MARK 0
12. IN 6 (to 19)
14.   LITERAL 0x5b ('[')
16.   LITERAL 0x5d (']')
18.   FAILURE
19: MARK 1
21. MARK 2
23. REPEAT_ONE 12 1 MAXREPEAT (to 36)
27.   IN 7 (to 35)
29.     LITERAL 0x2e ('.')
31.     RANGE 0x30 0x3a ('0'-':')
34.     FAILURE
35:   SUCCESS
36: MARK 3
38. LITERAL 0x2c (',')
40. MARK 4
42. REPEAT_ONE 12 1 MAXREPEAT (to 55)
46.   IN 7 (to 54)
48.     LITERAL 0x2e ('.')
50.     RANGE 0x30 0x3a ('0'-':')
53.     FAILURE
54:   SUCCESS
55: MARK 5
57. MARK 6
59. IN 6 (to 66)
61.   LITERAL 0x5b ('[')
63.   LITERAL 0x5d (']')
65.   FAILURE
66: MARK 7
68. SUCCESS
________________ ERROR collecting spyne/test/model/test_enum.py ________________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/model/test_enum.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/model/test_enum.py:30: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
________ ERROR collecting spyne/test/protocol/test_html_microformat.py _________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_html_microformat.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_html_microformat.py:36: in <module>
    from spyne.server.wsgi import WsgiMethodContext
spyne/server/wsgi.py:30: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
___________ ERROR collecting spyne/test/protocol/test_html_table.py ____________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_html_table.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_html_table.py:37: in <module>
    from spyne.server.wsgi import WsgiApplication
spyne/server/wsgi.py:30: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
______________ ERROR collecting spyne/test/protocol/test_http.py _______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_http.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_http.py:33: in <module>
    from spyne.server.wsgi import _parse_qs
spyne/server/wsgi.py:30: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_____________ ERROR collecting spyne/test/protocol/test_msgpack.py _____________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_msgpack.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_msgpack.py:43: in <module>
    from spyne.server.wsgi import WsgiApplication
spyne/server/wsgi.py:30: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_____________ ERROR collecting spyne/test/protocol/test_soap11.py ______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_soap11.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_soap11.py:42: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_____________ ERROR collecting spyne/test/protocol/test_soap12.py ______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_soap12.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_soap12.py:18: in <module>
    from spyne.protocol.soap.mime import _join_attachment
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_______________ ERROR collecting spyne/test/protocol/test_xml.py _______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/protocol/test_xml.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/protocol/test_xml.py:52: in <module>
    from spyne.server.wsgi import WsgiApplication
spyne/server/wsgi.py:30: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_________________ ERROR collecting spyne/test/test_service.py __________________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/test_service.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/test_service.py:43: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
_____________ ERROR collecting spyne/test/test_soft_validation.py ______________
ImportError while importing test module 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/spyne/test/test_soft_validation.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
spyne/test/test_soft_validation.py:31: in <module>
    from spyne.protocol.soap import Soap11
spyne/protocol/soap/__init__.py:27: in <module>
    from spyne.protocol.soap.soap11 import Soap11
spyne/protocol/soap/soap11.py:41: in <module>
    import cgi
E   ModuleNotFoundError: No module named 'cgi'
=========================== short test summary info ============================
ERROR spyne/test/interface/test_interface.py
ERROR spyne/test/interface/test_wsgi.py
ERROR spyne/test/interface/test_xml_schema.py
ERROR spyne/test/interface/wsdl/test_bindings.py
ERROR spyne/test/interface/wsdl/test_default_wsdl.py
ERROR spyne/test/interface/wsdl/test_op_req_suffix.py
ERROR spyne/test/interface/wsdl/test_wsdl_ports_services.py
ERROR spyne/test/model/test_binary.py
ERROR spyne/test/model/test_complex.py
ERROR spyne/test/model/test_enum.py
ERROR spyne/test/protocol/test_html_microformat.py
ERROR spyne/test/protocol/test_html_table.py
ERROR spyne/test/protocol/test_http.py
ERROR spyne/test/protocol/test_msgpack.py
ERROR spyne/test/protocol/test_soap11.py
ERROR spyne/test/protocol/test_soap12.py
ERROR spyne/test/protocol/test_xml.py
ERROR spyne/test/test_service.py
ERROR spyne/test/test_soft_validation.py
!!!!!!!!!!!!!!!!!!! Interrupted: 19 errors during collection !!!!!!!!!!!!!!!!!!!
======================= 3 deselected, 19 errors in 1.87s =======================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=2: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest 
--ignore=spyne/test/interop --ignore=examples -k 'not test_msgpack'
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; 
python3.12 -m pytest --ignore=spyne/test/interop --ignore=examples -k 'not 
test_msgpack'
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build
configfile: pytest.ini
plugins: typeguard-4.3.0
collected 737 items / 66 deselected / 671 selected

spyne/test/interface/test_interface.py ..                                [  0%]
spyne/test/interface/test_wsgi.py ...                                    [  0%]
spyne/test/interface/test_xml_schema.py .....................            [  3%]
spyne/test/interface/wsdl/test_bindings.py ..                            [  4%]
spyne/test/interface/wsdl/test_default_wsdl.py .......                   [  5%]
spyne/test/interface/wsdl/test_op_req_suffix.py ...................      [  8%]
spyne/test/interface/wsdl/test_wsdl_ports_services.py ........           [  9%]
spyne/test/model/test_binary.py .                                        [  9%]
spyne/test/model/test_complex.py ....................................... [ 15%]
............................                                             [ 19%]
spyne/test/model/test_enum.py ....                                       [ 19%]
spyne/test/model/test_exception.py .........                             [ 21%]
spyne/test/model/test_primitive.py ..................................... [ 26%]
...........................                                              [ 30%]
spyne/test/multipython/model/test_complex.py ...........                 [ 32%]
spyne/test/protocol/test_cloth.py ............................           [ 36%]
spyne/test/protocol/test_html_microformat.py ......                      [ 37%]
spyne/test/protocol/test_html_table.py ...........                       [ 39%]
spyne/test/protocol/test_http.py ....................................... [ 45%]
........                                                                 [ 46%]
spyne/test/protocol/test_json.py ....................................... [ 52%]
.............................                                            [ 56%]
spyne/test/protocol/test_soap11.py ..............                        [ 58%]
spyne/test/protocol/test_soap12.py ............                          [ 60%]
spyne/test/protocol/test_xml.py ...........................              [ 64%]
spyne/test/protocol/test_yaml.py ....................................... [ 70%]
.......................                                                  [ 73%]
spyne/test/test_null_server.py ......                                    [ 74%]
spyne/test/test_service.py .................                             [ 76%]
spyne/test/test_soft_validation.py .........                             [ 78%]
spyne/test/test_sqlalchemy.py .......................................... [ 84%]
..                                                                       [ 84%]
spyne/test/util/test_address.py ........................................ [ 90%]
...............................                                          [ 95%]
spyne/test/util/test_util.py ...............................             [100%]

=============================== warnings summary ===============================
spyne/protocol/soap/soap11.py:41
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/protocol/soap/soap11.py:41: 
DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
    import cgi

spyne/test/protocol/test_http.py::Test::test_http_headers
spyne/test/protocol/test_http.py::ParseCookieTest::test_cookie_parse
  /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:85: 
PytestUnraisableExceptionWarning: Exception ignored in: <function 
IteratorWrapper.__del__ at 0xffffa8b85260>
  
  Traceback (most recent call last):
    File "/usr/lib/python3.12/wsgiref/validate.py", line 292, in __del__
      assert_(self.closed,
    File "/usr/lib/python3.12/wsgiref/validate.py", line 128, in assert_
      raise AssertionError(*args)
  AssertionError: Iterator garbage collected without being closed
  
    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

spyne/test/protocol/test_soap12.py::TestSoap12::test_fault_generation
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/protocol/soap/soap12.py:112:
 FutureWarning: The behavior of this method will change in future versions. Use 
specific 'len(elem)' or 'elem is not None' test instead.
    if child_subcode:

spyne/test/protocol/test_soap12.py::TestSoap12::test_fault_generation
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/protocol/soap/soap12.py:59: 
FutureWarning: The behavior of this method will change in future versions. Use 
specific 'len(elem)' or 'elem is not None' test instead.
    if subcode:

spyne/test/test_sqlalchemy.py::TestSqlAlchemyTypeMappings::test_init
spyne/test/test_sqlalchemy.py::TestSqlAlchemyTypeMappings::test_jsonb
spyne/test/test_sqlalchemy.py::TestSqlAlchemyTypeMappings::test_obj_json
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SomeClass1, and will be 
replaced in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemyTypeMappings::test_jsonb
spyne/test/test_sqlalchemy.py::TestSqlAlchemyTypeMappings::test_obj_json
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SomeClass2, and will be 
replaced in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py: 10 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.C, and will be replaced in 
the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_array_many
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_circular_array
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_cust
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_delayed
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_existing_column
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_new_column
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_base_append_complex
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_polymorphic_cust
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.D, and will be replaced in 
the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_append_field_complex_circular_array
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:1111:
 SAWarning: relationship 'D.c' will copy column dd.id to column cc.dd_id, which 
conflicts with relationship(s): 'C.d' (copies dd.id to cc.dd_id). If this is 
not the intention, consider if these relationships should be linked with 
back_populates, or if viewonly=True should be applied to one or more if they 
are read-only. For the less common case that foreign key constraints are 
partially overlapping, the orm.foreign() annotation can be used to isolate the 
columns that should be written towards.   To silence this warning, add the 
parameter 'overlaps="d"' to the 'D.c' relationship. (Background on this warning 
at: https://sqlalche.me/e/20/qzyx) (This warning originated from the 
`configure_mappers()` process, which was invoked automatically in response to a 
user-initiated operation.)
    c1, c2 = C(id=1), C(id=2)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_base_append_complex
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: Reassigning polymorphic association for identity 1 from <Mapper at 
0xffffa76c3cb0; B> to <Mapper at 0xffffa76c21b0; C>: Check for duplicate use of 
1 as value for polymorphic_identity.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_base_append_complex
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:1279:
 SAWarning: relationship 'D.c' will copy column d.id to column c.d_id, which 
conflicts with relationship(s): 'C.d' (copies d.id to c.d_id). If this is not 
the intention, consider if these relationships should be linked with 
back_populates, or if viewonly=True should be applied to one or more if they 
are read-only. For the less common case that foreign key constraints are 
partially overlapping, the orm.foreign() annotation can be used to isolate the 
columns that should be written towards.   To silence this warning, add the 
parameter 'overlaps="d"' to the 'D.c' relationship. (Background on this warning 
at: https://sqlalche.me/e/20/qzyx) (This warning originated from the 
`configure_mappers()` process, which was invoked automatically in response to a 
user-initiated operation.)
    self.session.add(C(d=D(i=42)))

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_base_append_simple
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.B, and will be replaced in 
the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_base_append_simple
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: Reassigning polymorphic association for identity 1 from <Mapper at 
0xffffa8e48110; B> to <Mapper at 0xffffa7684da0; C>: Check for duplicate use of 
1 as value for polymorphic_identity.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py: 10 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SomeOtherClass, and will be 
replaced in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py: 24 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SomeClass, and will be 
replaced in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_default_ctor
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:788:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    assert self.session.query(SomeClass).get(1).f == 'uuu'

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_default_value
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:807:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    assert self.session.query(SomeClass).get(1).f == u'uuu'

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_file_storage
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:1052:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    c = self.session.query(C).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_inheritance
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:478:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(5)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_inheritance
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:482:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeOtherClass).get(5)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_mixins_with_complex_fields
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.Foo, and will be replaced in 
the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_mixins_with_complex_fields
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.Bar, and will be replaced in 
the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_mixins_with_complex_fields
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SubBar, and will be replaced 
in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_modifiers
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:766:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    ret = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_multiple_fk
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:906:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_multirel_single_table
spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_simple_fk
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/store/relational/_base.py:978:
 SAWarning: This declarative base already contains a class with the same class 
name and module name as spyne.test.test_sqlalchemy.SomeChildClass, and will be 
replaced in the string-lookup table.
    cls_mapper = mapper(cls, *mapper_args, **mapper_kwargs)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:282:
 SAWarning: relationship 'SomeClass.other_children' will copy column 
some_class.id to column children.parent_id, which conflicts with 
relationship(s): 'SomeClass.children' (copies some_class.id to 
children.parent_id). If this is not the intention, consider if these 
relationships should be linked with back_populates, or if viewonly=True should 
be applied to one or more if they are read-only. For the less common case that 
foreign key constraints are partially overlapping, the orm.foreign() annotation 
can be used to isolate the columns that should be written towards.   To silence 
this warning, add the parameter 'overlaps="children"' to the 
'SomeClass.other_children' relationship. (Background on this warning at: 
https://sqlalche.me/e/20/qzyx) (This warning originated from the 
`configure_mappers()` process, which was invoked automatically in response to a 
user-initiated operation.)
    soc = SomeOtherClass(s='ehe')

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:289:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:298:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql_array_as_json
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:746:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql_array_as_multi_table
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:359:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql_array_as_table
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:327:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_nested_sql_array_as_xml
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:421:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc_db = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_scalar_collection
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:858:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_scalar_collection
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:862:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_scalar_collection
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:866:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_scalar_collection
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:869:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

spyne/test/test_sqlalchemy.py::TestSqlAlchemySchema::test_scalar_collection
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/spyne/test/test_sqlalchemy.py:873:
 LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x 
series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now 
available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 
2.0 at: https://sqlalche.me/e/b8d9)
    sc = self.session.query(SomeClass).get(1)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=============== 671 passed, 66 deselected, 91 warnings in 8.37s ================
        rm -fr -- /tmp/dh-xdg-rundir-4J8rUrnw
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 
3.12" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-19T13:35:04Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/794240/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to