comparison test/test_anypy_hashlib.py @ 4269:ab4563e97d22

corrections for python2.3 compatibility: - rename testdata in test/test_anypy_hashlib.py, python2.3 testsuite will try to execute anything that starts with "test". - fix generator expressions in roundup/admin.py - fix sort calls with key attribute, use a standard (slower) compare function instead - Add 'sqlite' to ImportError exceptions when searching for backends
author Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
date Fri, 09 Oct 2009 14:32:21 +0000
parents eddb82d0964c
children 4960a2c21590
comparison
equal deleted inserted replaced
4268:b78eb8fc821a 4269:ab4563e97d22
37 warnings.warn('anypy.hashlib_ continuity', UntestableWarning) 37 warnings.warn('anypy.hashlib_ continuity', UntestableWarning)
38 38
39 class TestCase_anypy_hashlib(unittest.TestCase): 39 class TestCase_anypy_hashlib(unittest.TestCase):
40 """test the hashlib compatibility layer""" 40 """test the hashlib compatibility layer"""
41 41
42 testdata = ( 42 data_for_test = (
43 ('', 43 ('',
44 'da39a3ee5e6b4b0d3255bfef95601890afd80709', 44 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
45 'd41d8cd98f00b204e9800998ecf8427e'), 45 'd41d8cd98f00b204e9800998ecf8427e'),
46 ('Strange women lying in ponds distributing swords' 46 ('Strange women lying in ponds distributing swords'
47 ' is no basis for a system of government.', 47 ' is no basis for a system of government.',
56 ) 56 )
57 57
58 # the following two are always excecuted: 58 # the following two are always excecuted:
59 def test_sha1_expected_anypy(self): 59 def test_sha1_expected_anypy(self):
60 """...anypy.hashlib_.sha1().hexdigest() yields expected results""" 60 """...anypy.hashlib_.sha1().hexdigest() yields expected results"""
61 for src, SHA, MD5 in self.testdata: 61 for src, SHA, MD5 in self.data_for_test:
62 self.assertEqual(roundup.anypy.hashlib_.sha1(src).hexdigest(), SHA) 62 self.assertEqual(roundup.anypy.hashlib_.sha1(src).hexdigest(), SHA)
63 63
64 def test_md5_expected_anypy(self): 64 def test_md5_expected_anypy(self):
65 """...anypy.hashlib_.md5().hexdigest() yields expected results""" 65 """...anypy.hashlib_.md5().hexdigest() yields expected results"""
66 for src, SHA, MD5 in self.testdata: 66 for src, SHA, MD5 in self.data_for_test:
67 self.assertEqual(roundup.anypy.hashlib_.md5(src).hexdigest(), MD5) 67 self.assertEqual(roundup.anypy.hashlib_.md5(src).hexdigest(), MD5)
68 68
69 # execution depending on availability of modules: 69 # execution depending on availability of modules:
70 if md5 and hashlib: 70 if md5 and hashlib:
71 def test_md5_continuity(self): 71 def test_md5_continuity(self):
72 """md5.md5().digest() == hashlib.md5().digest()""" 72 """md5.md5().digest() == hashlib.md5().digest()"""
73 if md5.md5 is hashlib.md5: 73 if md5.md5 is hashlib.md5:
74 return 74 return
75 else: 75 else:
76 for s, i1, i2 in self.testdata: 76 for s, i1, i2 in self.data_for_test:
77 self.assertEqual(md5.md5(s).digest(), 77 self.assertEqual(md5.md5(s).digest(),
78 hashlib.md5().digest()) 78 hashlib.md5().digest())
79 79
80 if md5: 80 if md5:
81 def test_md5_expected(self): 81 def test_md5_expected(self):
82 """md5.md5().hexdigest() yields expected results""" 82 """md5.md5().hexdigest() yields expected results"""
83 for src, SHA, MD5 in self.testdata: 83 for src, SHA, MD5 in self.data_for_test:
84 self.assertEqual(md5.md5(src).hexdigest(), MD5) 84 self.assertEqual(md5.md5(src).hexdigest(), MD5)
85 85
86 def test_md5_new_expected(self): 86 def test_md5_new_expected(self):
87 """md5.new is md5.md5, or at least yields expected results""" 87 """md5.new is md5.md5, or at least yields expected results"""
88 if md5.new is md5.md5: 88 if md5.new is md5.md5:
89 return 89 return
90 else: 90 else:
91 for src, SHA, MD5 in self.testdata: 91 for src, SHA, MD5 in self.data_for_test:
92 self.assertEqual(md5.new(src).hexdigest(), MD5) 92 self.assertEqual(md5.new(src).hexdigest(), MD5)
93 93
94 if sha and hashlib: 94 if sha and hashlib:
95 def test_sha1_continuity(self): 95 def test_sha1_continuity(self):
96 """sha.sha().digest() == hashlib.sha1().digest()""" 96 """sha.sha().digest() == hashlib.sha1().digest()"""
97 if sha.sha is hashlib.sha1: 97 if sha.sha is hashlib.sha1:
98 return 98 return
99 else: 99 else:
100 for s in self.testdata: 100 for s in self.data_for_test:
101 self.assertEqual(sha.sha(s).digest(), 101 self.assertEqual(sha.sha(s).digest(),
102 hashlib.sha1().digest()) 102 hashlib.sha1().digest())
103 103
104 if sha: 104 if sha:
105 def test_sha_expected(self): 105 def test_sha_expected(self):
106 """sha.sha().hexdigest() yields expected results""" 106 """sha.sha().hexdigest() yields expected results"""
107 for src, SHA, MD5 in self.testdata: 107 for src, SHA, MD5 in self.data_for_test:
108 self.assertEqual(sha.sha(src).hexdigest(), SHA) 108 self.assertEqual(sha.sha(src).hexdigest(), SHA)
109 109
110 # fails for me with Python 2.3; unittest module bug? 110 # fails for me with Python 2.3; unittest module bug?
111 def test_sha_new_expected(self): 111 def test_sha_new_expected(self):
112 """sha.new is sha.sha, or at least yields expected results""" 112 """sha.new is sha.sha, or at least yields expected results"""
113 if sha.new is sha.sha: 113 if sha.new is sha.sha:
114 return 114 return
115 else: 115 else:
116 for src, SHA, MD5 in self.testdata: 116 for src, SHA, MD5 in self.data_for_test:
117 self.assertEqual(sha.new(src).hexdigest(), SHA) 117 self.assertEqual(sha.new(src).hexdigest(), SHA)
118 118
119 if hashlib: 119 if hashlib:
120 def test_sha1_expected_hashlib(self): 120 def test_sha1_expected_hashlib(self):
121 """hashlib.sha1().hexdigest() yields expected results""" 121 """hashlib.sha1().hexdigest() yields expected results"""
122 for src, SHA, MD5 in self.testdata: 122 for src, SHA, MD5 in self.data_for_test:
123 self.assertEqual(hashlib.sha1(src).hexdigest(), SHA) 123 self.assertEqual(hashlib.sha1(src).hexdigest(), SHA)
124 124
125 def test_md5_expected_hashlib(self): 125 def test_md5_expected_hashlib(self):
126 """hashlib.md5().hexdigest() yields expected results""" 126 """hashlib.md5().hexdigest() yields expected results"""
127 for src, SHA, MD5 in self.testdata: 127 for src, SHA, MD5 in self.data_for_test:
128 self.assertEqual(hashlib.md5(src).hexdigest(), MD5) 128 self.assertEqual(hashlib.md5(src).hexdigest(), MD5)
129 129
130 def test_suite(): 130 def test_suite():
131 suite = unittest.TestSuite() 131 suite = unittest.TestSuite()
132 suite.addTest(unittest.makeSuite(TestCase_anypy_hashlib)) 132 suite.addTest(unittest.makeSuite(TestCase_anypy_hashlib))

Roundup Issue Tracker: http://roundup-tracker.org/