Skip to content

Commit 9f0db9a

Browse files
authored
Merge pull request RustPython#4610 from haxelion/feature/hashlib_shake
Implementing shake_128 and shake_256 in the hashlib module
2 parents 003f3b4 + 29de419 commit 9f0db9a

File tree

2 files changed

+208
-165
lines changed

2 files changed

+208
-165
lines changed

Lib/test/test_hashlib.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ class HashLibTestCase(unittest.TestCase):
102102
'sha384', 'SHA384', 'sha512', 'SHA512',
103103
'blake2b', 'blake2s',
104104
'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512',
105-
# TODO: RUSTPYTHON
106-
# 'shake_128', 'shake_256'
105+
'shake_128', 'shake_256'
107106
)
108107

109108
shakes = {'shake_128', 'shake_256'}
@@ -260,8 +259,6 @@ def test_unknown_hash(self):
260259
self.assertRaises(ValueError, hashlib.new, 'spam spam spam spam spam')
261260
self.assertRaises(TypeError, hashlib.new, 1)
262261

263-
# TODO: RUSTPYTHON
264-
@unittest.expectedFailure
265262
def test_new_upper_to_lower(self):
266263
self.assertEqual(hashlib.new("SHA256").name, "sha256")
267264

@@ -303,6 +300,8 @@ def test_hexdigest(self):
303300
self.assertIsInstance(h.digest(), bytes)
304301
self.assertEqual(hexstr(h.digest()), h.hexdigest())
305302

303+
# TODO: RUSTPYTHON
304+
@unittest.expectedFailure
306305
def test_digest_length_overflow(self):
307306
# See issue #34922
308307
large_sizes = (2**29, 2**32-10, 2**32+10, 2**61, 2**64-10, 2**64+10)
@@ -404,8 +403,6 @@ def test_no_unicode_blake2(self):
404403
self.check_no_unicode('blake2b')
405404
self.check_no_unicode('blake2s')
406405

407-
# TODO: RUSTPYTHON
408-
@unittest.expectedFailure
409406
@requires_sha3
410407
def test_no_unicode_sha3(self):
411408
self.check_no_unicode('sha3_224')
@@ -851,30 +848,22 @@ def test_case_sha3_512_vector(self):
851848
for msg, md in read_vectors('sha3_512'):
852849
self.check('sha3_512', msg, md)
853850

854-
# TODO: RUSTPYTHON
855-
@unittest.expectedFailure
856851
def test_case_shake_128_0(self):
857852
self.check('shake_128', b"",
858853
"7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26",
859854
True)
860855
self.check('shake_128', b"", "7f9c", True)
861856

862-
# TODO: RUSTPYTHON
863-
@unittest.expectedFailure
864857
def test_case_shake128_vector(self):
865858
for msg, md in read_vectors('shake_128'):
866859
self.check('shake_128', msg, md, True)
867860

868-
# TODO: RUSTPYTHON
869-
@unittest.expectedFailure
870861
def test_case_shake_256_0(self):
871862
self.check('shake_256', b"",
872863
"46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762f",
873864
True)
874865
self.check('shake_256', b"", "46b9", True)
875866

876-
# TODO: RUSTPYTHON
877-
@unittest.expectedFailure
878867
def test_case_shake256_vector(self):
879868
for msg, md in read_vectors('shake_256'):
880869
self.check('shake_256', msg, md, True)

0 commit comments

Comments
 (0)