Package: python-xmlsec
Version: 1.3.12-1
Severity: important
Hi,
Given I was already a bit wary about the changed in xmlsec1 I uploaded
it to experimental first.
Which turns out to be a good idea since that one causes oath-toolkit to
FTBFS/fail its tests:
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:240: cd
/home/rene/t/python-xmlsec-1.3.12/.pybuild/cpython3_3.10/build; python3.10 -m
pytest tests
============================= test session starts ==============================
platform linux -- Python 3.10.8, pytest-7.1.2, pluggy-1.0.0+repack
rootdir: /home/rene/t/python-xmlsec-1.3.12
plugins: tornado-0.8.1, hypothesis-6.36.0, requests-mock-1.9.3, cov-4.0.0,
asyncio-0.19.0
asyncio: mode=strict
collected 166 items / 1 skipped
tests/test_xmlsec.py . [ 0%]
tests/test_constants.py .... [ 3%]
tests/test_doc_examples.py s [ 3%]
tests/test_ds.py .............................FE.......... [ 27%]
tests/test_enc.py ........................ [ 42%]
tests/test_keys.py ......................................... [ 66%]
tests/test_main.py ............. [ 74%]
tests/test_templates.py .................................. [ 95%]
tests/test_tree.py ........ [100%]
==================================== ERRORS ====================================
_____________ ERROR at teardown of TestSignContext.test_sign_case5 _____________
self = <tests.test_ds.TestSignContext testMethod=test_sign_case5>
def test_sign_case5(self):
"""Should sign a file using a dynamicaly created template, key from PEM
file and an X509 certificate."""
root = self.load_xml("sign5-in.xml")
sign = xmlsec.template.create(root, consts.TransformExclC14N,
consts.TransformRsaSha1)
self.assertIsNotNone(sign)
root.append(sign)
ref = xmlsec.template.add_reference(sign, consts.TransformSha1)
xmlsec.template.add_transform(ref, consts.TransformEnveloped)
ki = xmlsec.template.ensure_key_info(sign)
x509 = xmlsec.template.add_x509_data(ki)
xmlsec.template.x509_data_add_subject_name(x509)
xmlsec.template.x509_data_add_certificate(x509)
xmlsec.template.x509_data_add_ski(x509)
x509_issuer_serial = xmlsec.template.x509_data_add_issuer_serial(x509)
xmlsec.template.x509_issuer_serial_add_issuer_name(x509_issuer_serial,
'Test Issuer')
xmlsec.template.x509_issuer_serial_add_serial_number(x509_issuer_serial, '1')
ctx = xmlsec.SignatureContext()
ctx.key = xmlsec.Key.from_file(self.path("rsakey.pem"),
format=consts.KeyDataFormatPem)
self.assertIsNotNone(ctx.key)
ctx.key.load_cert_from_file(self.path('rsacert.pem'),
consts.KeyDataFormatPem)
ctx.key.name = 'rsakey.pem'
self.assertEqual("rsakey.pem", ctx.key.name)
ctx.sign(sign)
> self.assertEqual(self.load_xml("sign5-out.xml"), root)
tests/test_ds.py:186:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:122: in assertXmlEqual
self.fail('text: %r != %r. %s' % (first.text, second.text, msg))
E AssertionError: text: 'JIQs8tRZIGKLLlyGkKOqMLonGpw=' != None.
=================================== FAILURES ===================================
_______________________ TestSignContext.test_sign_case5 ________________________
self = <tests.test_ds.TestSignContext testMethod=test_sign_case5>
def test_sign_case5(self):
"""Should sign a file using a dynamicaly created template, key from PEM
file and an X509 certificate."""
root = self.load_xml("sign5-in.xml")
sign = xmlsec.template.create(root, consts.TransformExclC14N,
consts.TransformRsaSha1)
self.assertIsNotNone(sign)
root.append(sign)
ref = xmlsec.template.add_reference(sign, consts.TransformSha1)
xmlsec.template.add_transform(ref, consts.TransformEnveloped)
ki = xmlsec.template.ensure_key_info(sign)
x509 = xmlsec.template.add_x509_data(ki)
xmlsec.template.x509_data_add_subject_name(x509)
xmlsec.template.x509_data_add_certificate(x509)
xmlsec.template.x509_data_add_ski(x509)
x509_issuer_serial = xmlsec.template.x509_data_add_issuer_serial(x509)
xmlsec.template.x509_issuer_serial_add_issuer_name(x509_issuer_serial,
'Test Issuer')
xmlsec.template.x509_issuer_serial_add_serial_number(x509_issuer_serial, '1')
ctx = xmlsec.SignatureContext()
ctx.key = xmlsec.Key.from_file(self.path("rsakey.pem"),
format=consts.KeyDataFormatPem)
self.assertIsNotNone(ctx.key)
ctx.key.load_cert_from_file(self.path('rsacert.pem'),
consts.KeyDataFormatPem)
ctx.key.name = 'rsakey.pem'
self.assertEqual("rsakey.pem", ctx.key.name)
ctx.sign(sign)
> self.assertEqual(self.load_xml("sign5-out.xml"), root)
tests/test_ds.py:186:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:132: in assertXmlEqual
self.assertXmlEqual(c1, c2)
tests/base.py:122: in assertXmlEqual
self.fail('text: %r != %r. %s' % (first.text, second.text, msg))
E AssertionError: text: 'JIQs8tRZIGKLLlyGkKOqMLonGpw=' != None.
=========================== short test summary info ============================
FAILED tests/test_ds.py::TestSignContext::test_sign_case5 - AssertionError: t...
ERROR tests/test_ds.py::TestSignContext::test_sign_case5 - AssertionError: te...
============== 1 failed, 164 passed, 2 skipped, 1 error in 6.11s ===============
E: pybuild pybuild:379: test: plugin distutils failed with: exit code=1: cd
/home/rene/t/python-xmlsec-1.3.12/.pybuild/cpython3_3.10/build; python3.10 -m
pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.10
returned exit code 13
make: *** [debian/rules:4: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -b failed
As said, it's already available in experimental to try yourself.
Regards,
Rene