Legrandin / pycryptodome

A self-contained cryptographic library for Python
https://www.pycryptodome.org
Other
2.74k stars 492 forks source link

3.19.0: SelfTest fails when run with `verbosity=2` #765

Closed mgorny closed 6 months ago

mgorny commented 9 months ago
$ python -c 'from Crypto import SelfTest; SelfTest.run(verbosity=2)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pycryptodome/.venv/lib/python3.10/site-packages/Crypto/SelfTest/__init__.py", line 73, in run
    result = runner.run(suite)
  File "/usr/lib/python3.10/unittest/runner.py", line 184, in run
    test(result)
  File "/usr/lib/python3.10/unittest/suite.py", line 84, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3.10/unittest/suite.py", line 122, in run
    test(result)
  File "/usr/lib/python3.10/unittest/case.py", line 650, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3.10/unittest/case.py", line 567, in run
    result.startTest(self)
  File "/usr/lib/python3.10/unittest/runner.py", line 54, in startTest
    self.stream.write(self.getDescription(test))
  File "/usr/lib/python3.10/unittest/runner.py", line 45, in getDescription
    doc_first_line = test.shortDescription()
  File "/tmp/pycryptodome/.venv/lib/python3.10/site-packages/Crypto/SelfTest/Protocol/test_ecdh.py", line 107, in shortDescription
    return self.desc
AttributeError: 'TestVectorsECDHWycheproof' object has no attribute 'desc'
mtelka commented 9 months ago

I use this as a workaround:

--- pycryptodome-3.19.0/lib/Crypto/SelfTest/Protocol/test_ecdh.py.orig
+++ pycryptodome-3.19.0/lib/Crypto/SelfTest/Protocol/test_ecdh.py
@@ -72,6 +72,8 @@

 class TestVectorsECDHWycheproof(unittest.TestCase):

+    desc = None
+
     def add_tests(self, filename):

         def curve(g):
Legrandin commented 6 months ago

Fixed in 3.19.1