From 4710c53dcad1ebf3755f3efb9e80ac24bd72a9b2 Mon Sep 17 00:00:00 2001 From: darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> Date: Mon, 16 Apr 2012 22:12:42 +0000 Subject: AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site. 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 --- .../Python/Python-2.7.2/Lib/test/test_pep247.py | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_pep247.py (limited to 'AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_pep247.py') diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_pep247.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_pep247.py new file mode 100644 index 0000000000..5addf7972f --- /dev/null +++ b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_pep247.py @@ -0,0 +1,74 @@ +""" +Test suite to check compilance with PEP 247, the standard API +for hashing algorithms +""" + +import warnings +warnings.filterwarnings('ignore', 'the md5 module is deprecated.*', + DeprecationWarning) +warnings.filterwarnings('ignore', 'the sha module is deprecated.*', + DeprecationWarning) + +import hmac +import md5 +import sha + +import unittest +from test import test_support + +class Pep247Test(unittest.TestCase): + + def check_module(self, module, key=None): + self.assertTrue(hasattr(module, 'digest_size')) + self.assertTrue(module.digest_size is None or module.digest_size > 0) + + if not key is None: + obj1 = module.new(key) + obj2 = module.new(key, 'string') + + h1 = module.new(key, 'string').digest() + obj3 = module.new(key) + obj3.update('string') + h2 = obj3.digest() + else: + obj1 = module.new() + obj2 = module.new('string') + + h1 = module.new('string').digest() + obj3 = module.new() + obj3.update('string') + h2 = obj3.digest() + + self.assertEqual(h1, h2) + + self.assertTrue(hasattr(obj1, 'digest_size')) + + if not module.digest_size is None: + self.assertEqual(obj1.digest_size, module.digest_size) + + self.assertEqual(obj1.digest_size, len(h1)) + obj1.update('string') + obj_copy = obj1.copy() + self.assertEqual(obj1.digest(), obj_copy.digest()) + self.assertEqual(obj1.hexdigest(), obj_copy.hexdigest()) + + digest, hexdigest = obj1.digest(), obj1.hexdigest() + hd2 = "" + for byte in digest: + hd2 += '%02x' % ord(byte) + self.assertEqual(hd2, hexdigest) + + def test_md5(self): + self.check_module(md5) + + def test_sha(self): + self.check_module(sha) + + def test_hmac(self): + self.check_module(hmac, key='abc') + +def test_main(): + test_support.run_unittest(Pep247Test) + +if __name__ == '__main__': + test_main() -- cgit v1.2.3