8000 Add extra SHA tests · xiaolanpython/cpython@b15f473 · GitHub
[go: up one dir, main page]

Skip to content

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

8000
Appearance settings

Commit b15f473

Browse files
committed
Add extra SHA tests
1 parent 3182172 commit b15f473

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

Lib/test/test_sha.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,23 @@
1111

1212
class SHATestCase(unittest.TestCase):
1313
def check(self, data, digest):
14-
computed = sha.new(data).hexdigest()
14+
# Check digest matches the expected value
15+
obj = sha.new(data)
16+
computed = obj.hexdigest()
1517
self.assert_(computed == digest)
1618

19+
# Verify that the value doesn't change between two consecutive
20+
# digest operations.
21+
computed_again = obj.hexdigest()
22+
self.assert_(computed == computed_again)
23+
24+
# Check hexdigest() output matches digest()'s output
25+
digest = obj.digest()
26+
hexd = ""
27+
for c in digest:
28+
hexd += '%02x' % ord(c)
29+
self.assert_(computed == hexd)
30+
1731
def test_case_1(self):
1832
self.check("abc",
1933
"a9993e364706816aba3e25717850c26c9cd0d89d")
@@ -26,6 +40,9 @@ def test_case_3(self):
2640
self.check("a" * 1000000,
2741
"34aa973cd4c4daa4f61eeb2bdbad27316534016f")
2842

43+
def test_case_4(self):
44+
self.check(chr(0xAA) * 80,
45+
'4ca0ef38f1794b28a8f8ee110ee79d48ce13be25')
2946

3047
def test_main():
3148
test_support.run_unittest(SHATestCase)

0 commit comments

Comments
 (0)
0