Index: Lib/test/test_md5.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_md5.py,v retrieving revision 1.4 diff -w -u -r1.4 test_md5.py --- Lib/test/test_md5.py 12 Dec 2000 23:11:42 -0000 1.4 +++ Lib/test/test_md5.py 11 Dec 2003 05:45:16 -0000 @@ -1,9 +1,11 @@ # Testing md5 module -import string +import unittest from md5 import md5 +from test import test_support def hexstr(s): + import string h = string.hexdigits r = '' for c in s: @@ -11,20 +13,46 @@ r = r + h[(i >> 4) & 0xF] + h[i & 0xF] return r -def md5test(s): - return 'MD5 ("' + s + '") = ' + hexstr(md5(s).digest()) +class MD5_Test(unittest.TestCase): -print 'MD5 test suite:' -print md5test('') -print md5test('a') -print md5test('abc') -print md5test('message digest') -print md5test('abcdefghijklmnopqrstuvwxyz') -print md5test('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') -print md5test('12345678901234567890123456789012345678901234567890123456789012345678901234567890') + def md5test(self, s, expected): + self.assertEqual(hexstr(md5(s).digest()), expected) + self.assertEqual(md5(s).hexdigest(), expected) + def test_basics(self): + eq = self.md5test + eq('', 'd41d8cd98f00b204e9800998ecf8427e') + eq('a', '0cc175b9c0f1b6a831c399e269772661') + eq('abc', '900150983cd24fb0d6963f7d28e17f72') + eq('message digest', 'f96b697d7cb7938d525a2f31aaf161d0') + eq('abcdefghijklmnopqrstuvwxyz', 'c3fcd3d76192e4007dfb496cca67e13b') + eq('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + 'd174ab98d277d9f5a5611c2c9f419d9f') + eq('12345678901234567890123456789012345678901234567890123456789012345678901234567890', + '57edf4a22be3c955ac49da2e2107b67a') + + def test_hexdigest(self): # hexdigest is new with Python 2.0 m = md5('testing the hexdigest method') h = m.hexdigest() -if hexstr(m.digest()) != h: - print 'hexdigest() failed' + self.assertEqual(hexstr(m.digest()), h) + + def test_large_update(self): + aas = 'a' * 64 + bees = 'b' * 64 + cees = 'c' * 64 + + m1 = md5() + m1.update(aas) + m1.update(bees) + m1.update(cees) + + m2 = md5() + m2.update(aas + bees + cees) + self.assertEqual(m1.digest(), m2.digest()) + +def test_main(): + test_support.run_unittest(MD5_Test) + +if __name__ == '__main__': + test_main() Index: Lib/test/test_weakref.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_weakref.py,v retrieving revision 1.32 diff -w -u -r1.32 test_weakref.py --- Lib/test/test_weakref.py 20 Nov 2003 21:21:46 -0000 1.32 +++ Lib/test/test_weakref.py 11 Dec 2003 05:45:16 -0000 @@ -249,6 +249,10 @@ self.assert_(weakref.getweakrefcount(o) == 4, "got wrong number of weak reference objects") + # assumes ints do not support weakrefs + self.assert_(weakref.getweakrefcount(1) == 0, + "got wrong number of weak reference objects for int") + def test_getweakrefs(self): o = C() ref1 = weakref.ref(o, self.callback) @@ -263,6 +267,10 @@ del ref2 self.assert_(weakref.getweakrefs(o) == [ref1], "list of refs does not match") + + # assumes ints do not support weakrefs + self.assert_(weakref.getweakrefs(1) == [], + "list of refs does not match for int") def test_newstyle_number_ops(self): class F(float):