[Python-checkins] cpython (merge 3.6 -> default): Add test cases for internal SHA3 helpers
christian.heimes
python-checkins at python.org
Fri Sep 23 05:32:47 EDT 2016
https://hg.python.org/cpython/rev/bb11a3aef5b0
changeset: 104030:bb11a3aef5b0
parent: 104028:8210873bd684
parent: 104029:9bc97f8ade4a
user: Christian Heimes <christian at python.org>
date: Fri Sep 23 11:32:40 2016 +0200
summary:
Add test cases for internal SHA3 helpers
files:
Lib/test/test_hashlib.py | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py
--- a/Lib/test/test_hashlib.py
+++ b/Lib/test/test_hashlib.py
@@ -339,6 +339,9 @@
self.check_blocksize_name('sha256', 64, 32)
self.check_blocksize_name('sha384', 128, 48)
self.check_blocksize_name('sha512', 128, 64)
+
+ @requires_sha3
+ def test_blocksize_name_sha3(self):
self.check_blocksize_name('sha3_224', 144, 28)
self.check_blocksize_name('sha3_256', 136, 32)
self.check_blocksize_name('sha3_384', 104, 48)
@@ -346,6 +349,24 @@
self.check_blocksize_name('shake_128', 168, 0, 32)
self.check_blocksize_name('shake_256', 136, 0, 64)
+ def check_sha3(self, name, capacity, rate, suffix):
+ constructors = self.constructors_to_test[name]
+ for hash_object_constructor in constructors:
+ m = hash_object_constructor()
+ self.assertEqual(capacity + rate, 1600)
+ self.assertEqual(m._capacity_bits, capacity)
+ self.assertEqual(m._rate_bits, rate)
+ self.assertEqual(m._suffix, suffix)
+
+ @requires_sha3
+ def test_extra_sha3(self):
+ self.check_sha3('sha3_224', 448, 1152, b'\x06')
+ self.check_sha3('sha3_256', 512, 1088, b'\x06')
+ self.check_sha3('sha3_384', 768, 832, b'\x06')
+ self.check_sha3('sha3_512', 1024, 576, b'\x06')
+ self.check_sha3('shake_128', 256, 1344, b'\x1f')
+ self.check_sha3('shake_256', 512, 1088, b'\x1f')
+
@requires_blake2
def test_blocksize_name_blake2(self):
self.check_blocksize_name('blake2b', 128, 64)
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list