Mercurial > p > roundup > code
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)) |
