From: david-sarah Date: Fri, 6 Aug 2010 05:00:51 +0000 (-0700) Subject: test_util.py: use SHA-256 from pycryptopp instead of MD5 from hashlib (for uses in... X-Git-Tag: allmydata-tahoe-1.8.0b2~2 X-Git-Url: https://git.rkrishnan.org/Site/Content/Exhibitors/class-simplejson.JSONDecoder.html?a=commitdiff_plain;h=a79ec1c6cd80b96294f3f4dcf72eb2aea5a8da1d;p=tahoe-lafs%2Ftahoe-lafs.git test_util.py: use SHA-256 from pycryptopp instead of MD5 from hashlib (for uses in which any hash will do), since hashlib was only added to the stdlib in Python 2.5. --- diff --git a/NEWS b/NEWS index f1be66dc..050e79c0 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ created by other Tahoe-LAFS versions. (#1159) - Partial GET requests using the Range header were not handled correctly by the new downloader. (#1154) + - Restore compatibility of test suite with Python 2.4.x. * Release 1.8.0β (2010-08-02) diff --git a/src/allmydata/test/test_util.py b/src/allmydata/test/test_util.py index 6b687808..4ebcb1b9 100644 --- a/src/allmydata/test/test_util.py +++ b/src/allmydata/test/test_util.py @@ -7,7 +7,7 @@ from twisted.trial import unittest from twisted.internet import defer, reactor from twisted.python.failure import Failure from twisted.python import log -from hashlib import md5 +from pycryptopp.hash.sha256 import SHA256 as _hash from allmydata.util import base32, idlib, humanreadable, mathutil, hashutil from allmydata.util import assertutil, fileutil, deferredutil, abbreviate @@ -1781,7 +1781,7 @@ class ByteSpans(unittest.TestCase): def _create(subseed): ns1 = S1(); ns2 = S2() for i in range(10): - what = md5(subseed+str(i)).hexdigest() + what = _hash(subseed+str(i)).hexdigest() start = int(what[2:4], 16) length = max(1,int(what[5:6], 16)) ns1.add(start, length); ns2.add(start, length) @@ -1789,7 +1789,7 @@ class ByteSpans(unittest.TestCase): #print for i in range(1000): - what = md5(seed+str(i)).hexdigest() + what = _hash(seed+str(i)).hexdigest() op = what[0] subop = what[1] start = int(what[2:4], 16) @@ -1835,7 +1835,7 @@ class ByteSpans(unittest.TestCase): self.failUnlessEqual(bool(s1), bool(s2)) self.failUnlessEqual(list(s1), list(s2)) for j in range(10): - what = md5(what[12:14]+str(j)).hexdigest() + what = _hash(what[12:14]+str(j)).hexdigest() start = int(what[2:4], 16) length = max(1, int(what[5:6], 16)) span = (start, length) @@ -2104,14 +2104,14 @@ class StringSpans(unittest.TestCase): created = 0 pieces = [] while created < length: - piece = md5(seed + str(created)).hexdigest() + piece = _hash(seed + str(created)).hexdigest() pieces.append(piece) created += len(piece) return "".join(pieces)[:length] def _create(subseed): ns1 = S1(); ns2 = S2() for i in range(10): - what = md5(subseed+str(i)).hexdigest() + what = _hash(subseed+str(i)).hexdigest() start = int(what[2:4], 16) length = max(1,int(what[5:6], 16)) ns1.add(start, _randstr(length, what[7:9])); @@ -2120,7 +2120,7 @@ class StringSpans(unittest.TestCase): #print for i in range(1000): - what = md5(seed+str(i)).hexdigest() + what = _hash(seed+str(i)).hexdigest() op = what[0] subop = what[1] start = int(what[2:4], 16) @@ -2148,7 +2148,7 @@ class StringSpans(unittest.TestCase): self.failUnlessEqual(s1.len(), s2.len()) self.failUnlessEqual(list(s1._dump()), list(s2._dump())) for j in range(100): - what = md5(what[12:14]+str(j)).hexdigest() + what = _hash(what[12:14]+str(j)).hexdigest() start = int(what[2:4], 16) length = max(1, int(what[5:6], 16)) d1 = s1.get(start, length); d2 = s2.get(start, length)