These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Testing md5 module
 | |
| import warnings
 | |
| warnings.filterwarnings("ignore", "the md5 module is deprecated.*",
 | |
|                         DeprecationWarning)
 | |
| 
 | |
| import unittest
 | |
| from md5 import md5
 | |
| from test import test_support
 | |
| 
 | |
| def hexstr(s):
 | |
|     import string
 | |
|     h = string.hexdigits
 | |
|     r = ''
 | |
|     for c in s:
 | |
|         i = ord(c)
 | |
|         r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
 | |
|     return r
 | |
| 
 | |
| class MD5_Test(unittest.TestCase):
 | |
| 
 | |
|     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()
 | |
|         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()
 |