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

Reply via email to