Ticket #24: shatest.diff

File shatest.diff, 1.0 KB (added by warner, at 2009-06-30T00:46:31Z)

test case to exercise the problem

  • pycryptopp/test/test_sha256.py

    old new  
    8484        except sha256.Error, le:
    8585            self.failUnless("digest() has been called" in str(le), le)
    8686
     87    def test_chunksize(self):
     88        # hashes can be computed on arbitrarily-sized chunks
     89        problems = False
     90        for length in range(2, 140):
     91            s = "a"*length
     92            expected = sha256.SHA256(s).hexdigest()
     93            for a in range(0, length):
     94                h = sha256.SHA256()
     95                h.update(s[:a])
     96                h.update(s[a:])
     97                got = h.hexdigest()
     98                if got != expected:
     99                    problems = True
     100                    print a, len(s[:a]), len(s), got, expected
     101        self.failIf(problems)
     102
    87103VECTS_RE=re.compile("\nLen = ([0-9]+)\nMsg = ([0-9a-f]+)\nMD = ([0-9a-f]+)")
    88104
    89105# split_on_newlines() copied from pyutil.strutil