diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2006-11-20 13:31:53 +0000 |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2006-11-20 13:31:53 +0000 |
commit | a64775103bd8f0276cacb858d400e513117a45e6 (patch) | |
tree | 1a56afd23fe887d38025f4e74e81d931ce03374b | |
parent | 64b8431b56aeb372807f9650c1e7a6d24c1a7525 (diff) | |
download | cpython-a64775103bd8f0276cacb858d400e513117a45e6.tar.gz |
Add extra SHA tests
-rw-r--r-- | Lib/test/test_sha.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Lib/test/test_sha.py b/Lib/test/test_sha.py index cad7780467..ea224e439c 100644 --- a/Lib/test/test_sha.py +++ b/Lib/test/test_sha.py @@ -5,15 +5,29 @@ # http://www.itl.nist.gov/div897/pubs/fip180-1.htm import sha -import test_support import unittest +from test import test_support class SHATestCase(unittest.TestCase): def check(self, data, digest): - computed = sha.new(data).hexdigest() + # Check digest matches the expected value + obj = sha.new(data) + computed = obj.hexdigest() self.assert_(computed == digest) + # Verify that the value doesn't change between two consecutive + # digest operations. + computed_again = obj.hexdigest() + self.assert_(computed == computed_again) + + # Check hexdigest() output matches digest()'s output + digest = obj.digest() + hexd = "" + for c in digest: + hexd += '%02x' % ord(c) + self.assert_(computed == hexd) + def test_case_1(self): self.check("abc", "a9993e364706816aba3e25717850c26c9cd0d89d") @@ -26,6 +40,9 @@ class SHATestCase(unittest.TestCase): self.check("a" * 1000000, "34aa973cd4c4daa4f61eeb2bdbad27316534016f") + def test_case_4(self): + self.check(chr(0xAA) * 80, + '4ca0ef38f1794b28a8f8ee110ee79d48ce13be25') def test_main(): test_support.run_unittest(SHATestCase) |