]> granicus.if.org Git - python/commitdiff
Issue #18599: Fix name attribute of _sha1.sha1() object. It now returns
authorChristian Heimes <christian@cheimes.de>
Tue, 30 Jul 2013 13:35:54 +0000 (15:35 +0200)
committerChristian Heimes <christian@cheimes.de>
Tue, 30 Jul 2013 13:35:54 +0000 (15:35 +0200)
'SHA1' instead of 'SHA'.
Add more tests for hashlib and hash object attributes

1  2 
Lib/test/test_hashlib.py
Misc/NEWS
Modules/sha1module.c

index e34c927523276f9dacc277a8e876ffd9fbd6f4fb,f3385f6d6f43a6e3a4fa16fc7009cb7667453d23..26012097f2b58cc8dd72ce0192261d4fbf67129e
@@@ -193,11 -205,25 +215,34 @@@ class HashLibTestCase(unittest.TestCase
          self.check_no_unicode('sha256')
          self.check_no_unicode('sha384')
          self.check_no_unicode('sha512')
 +        self.check_no_unicode('sha3_224')
 +        self.check_no_unicode('sha3_256')
 +        self.check_no_unicode('sha3_384')
 +        self.check_no_unicode('sha3_512')
  
+     def check_blocksize_name(self, name, block_size=0, digest_size=0):
+         constructors = self.constructors_to_test[name]
+         for hash_object_constructor in constructors:
+             m = hash_object_constructor()
+             self.assertEqual(m.block_size, block_size)
+             self.assertEqual(m.digest_size, digest_size)
+             self.assertEqual(len(m.digest()), digest_size)
+             self.assertEqual(m.name.lower(), name.lower())
++            # split for sha3_512 / _sha3.sha3 object
+             self.assertIn(name.split("_")[0], repr(m).lower())
+     def test_blocksize_name(self):
+         self.check_blocksize_name('md5', 64, 16)
+         self.check_blocksize_name('sha1', 64, 20)
+         self.check_blocksize_name('sha224', 64, 28)
+         self.check_blocksize_name('sha256', 64, 32)
+         self.check_blocksize_name('sha384', 128, 48)
+         self.check_blocksize_name('sha512', 128, 64)
++        self.check_blocksize_name('sha3_224', NotImplemented, 28)
++        self.check_blocksize_name('sha3_256', NotImplemented, 32)
++        self.check_blocksize_name('sha3_384', NotImplemented, 48)
++        self.check_blocksize_name('sha3_512', NotImplemented, 64)
      def test_case_md5_0(self):
          self.check('md5', b'', 'd41d8cd98f00b204e9800998ecf8427e')
  
diff --cc Misc/NEWS
index fa34b433e2a79a94e3677d47a65d05f821dea3d3,82b1081fda735bf16d16884286161eac60bad617..818f988a50b933ee227c2d154851813de25e69dd
+++ b/Misc/NEWS
@@@ -171,9 -57,9 +171,12 @@@ Core and Builtin
  Library
  -------
  
+ - Issue #18599: Fix name attribute of _sha1.sha1() object. It now returns
+   'SHA1' instead of 'SHA'.
 +- Issue #13266: Added inspect.unwrap to easily unravel __wrapped__ chains
 +  (initial patch by Daniel Urban and Aaron Iles)
 +
  - Issue #18561: Skip name in ctypes' _build_callargs() if name is NULL.
  
  - Issue #18559: Fix NULL pointer dereference error in _pickle module
Simple merge