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_platform.py | 254 +++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_platform.py (limited to 'AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_platform.py') diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_platform.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_platform.py new file mode 100644 index 0000000000..c1ca47efea --- /dev/null +++ b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_platform.py @@ -0,0 +1,254 @@ +import sys +import os +import unittest +import platform +import subprocess + +from test import test_support + +class PlatformTest(unittest.TestCase): + def test_architecture(self): + res = platform.architecture() + + if hasattr(os, "symlink"): + def test_architecture_via_symlink(self): # issue3762 + def get(python): + cmd = [python, '-c', + 'import platform; print platform.architecture()'] + p = subprocess.Popen(cmd, stdout=subprocess.PIPE) + return p.communicate() + real = os.path.realpath(sys.executable) + link = os.path.abspath(test_support.TESTFN) + os.symlink(real, link) + try: + self.assertEqual(get(real), get(link)) + finally: + os.remove(link) + + def test_platform(self): + for aliased in (False, True): + for terse in (False, True): + res = platform.platform(aliased, terse) + + def test_system(self): + res = platform.system() + + def test_node(self): + res = platform.node() + + def test_release(self): + res = platform.release() + + def test_version(self): + res = platform.version() + + def test_machine(self): + res = platform.machine() + + def test_processor(self): + res = platform.processor() + + def setUp(self): + self.save_version = sys.version + self.save_subversion = sys.subversion + self.save_platform = sys.platform + + def tearDown(self): + sys.version = self.save_version + sys.subversion = self.save_subversion + sys.platform = self.save_platform + + def test_sys_version(self): + # Old test. + for input, output in ( + ('2.4.3 (#1, Jun 21 2006, 13:54:21) \n[GCC 3.3.4 (pre 3.3.5 20040809)]', + ('CPython', '2.4.3', '', '', '1', 'Jun 21 2006 13:54:21', 'GCC 3.3.4 (pre 3.3.5 20040809)')), + ('IronPython 1.0.60816 on .NET 2.0.50727.42', + ('IronPython', '1.0.60816', '', '', '', '', '.NET 2.0.50727.42')), + ('IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42', + ('IronPython', '1.0.0', '', '', '', '', '.NET 2.0.50727.42')), + ): + # branch and revision are not "parsed", but fetched + # from sys.subversion. Ignore them + (name, version, branch, revision, buildno, builddate, compiler) \ + = platform._sys_version(input) + self.assertEqual( + (name, version, '', '', buildno, builddate, compiler), output) + + # Tests for python_implementation(), python_version(), python_branch(), + # python_revision(), python_build(), and python_compiler(). + sys_versions = { + ("2.6.1 (r261:67515, Dec 6 2008, 15:26:00) \n[GCC 4.0.1 (Apple Computer, Inc. build 5370)]", + ('CPython', 'tags/r261', '67515'), self.save_platform) + : + ("CPython", "2.6.1", "tags/r261", "67515", + ('r261:67515', 'Dec 6 2008 15:26:00'), + 'GCC 4.0.1 (Apple Computer, Inc. build 5370)'), + ("IronPython 2.0 (2.0.0.0) on .NET 2.0.50727.3053", None, "cli") + : + ("IronPython", "2.0.0", "", "", ("", ""), + ".NET 2.0.50727.3053"), + ("2.5 (trunk:6107, Mar 26 2009, 13:02:18) \n[Java HotSpot(TM) Client VM (\"Apple Computer, Inc.\")]", + ('Jython', 'trunk', '6107'), "java1.5.0_16") + : + ("Jython", "2.5.0", "trunk", "6107", + ('trunk:6107', 'Mar 26 2009'), "java1.5.0_16"), + ("2.5.2 (63378, Mar 26 2009, 18:03:29)\n[PyPy 1.0.0]", + ('PyPy', 'trunk', '63378'), self.save_platform) + : + ("PyPy", "2.5.2", "trunk", "63378", ('63378', 'Mar 26 2009'), + "") + } + for (version_tag, subversion, sys_platform), info in \ + sys_versions.iteritems(): + sys.version = version_tag + if subversion is None: + if hasattr(sys, "subversion"): + del sys.subversion + else: + sys.subversion = subversion + if sys_platform is not None: + sys.platform = sys_platform + self.assertEqual(platform.python_implementation(), info[0]) + self.assertEqual(platform.python_version(), info[1]) + self.assertEqual(platform.python_branch(), info[2]) + self.assertEqual(platform.python_revision(), info[3]) + self.assertEqual(platform.python_build(), info[4]) + self.assertEqual(platform.python_compiler(), info[5]) + + def test_system_alias(self): + res = platform.system_alias( + platform.system(), + platform.release(), + platform.version(), + ) + + def test_uname(self): + res = platform.uname() + self.assertTrue(any(res)) + + @unittest.skipUnless(sys.platform.startswith('win'), "windows only test") + def test_uname_win32_ARCHITEW6432(self): + # Issue 7860: make sure we get architecture from the correct variable + # on 64 bit Windows: if PROCESSOR_ARCHITEW6432 exists we should be + # using it, per + # http://blogs.msdn.com/david.wang/archive/2006/03/26/HOWTO-Detect-Process-Bitness.aspx + try: + with test_support.EnvironmentVarGuard() as environ: + if 'PROCESSOR_ARCHITEW6432' in environ: + del environ['PROCESSOR_ARCHITEW6432'] + environ['PROCESSOR_ARCHITECTURE'] = 'foo' + platform._uname_cache = None + system, node, release, version, machine, processor = platform.uname() + self.assertEqual(machine, 'foo') + environ['PROCESSOR_ARCHITEW6432'] = 'bar' + platform._uname_cache = None + system, node, release, version, machine, processor = platform.uname() + self.assertEqual(machine, 'bar') + finally: + platform._uname_cache = None + + def test_java_ver(self): + res = platform.java_ver() + if sys.platform == 'java': + self.assertTrue(all(res)) + + def test_win32_ver(self): + res = platform.win32_ver() + + def test_mac_ver(self): + res = platform.mac_ver() + + try: + import gestalt + except ImportError: + have_toolbox_glue = False + else: + have_toolbox_glue = True + + if have_toolbox_glue and platform.uname()[0] == 'Darwin': + # We're on a MacOSX system, check that + # the right version information is returned + fd = os.popen('sw_vers', 'r') + real_ver = None + for ln in fd: + if ln.startswith('ProductVersion:'): + real_ver = ln.strip().split()[-1] + break + fd.close() + self.assertFalse(real_ver is None) + result_list = res[0].split('.') + expect_list = real_ver.split('.') + len_diff = len(result_list) - len(expect_list) + # On Snow Leopard, sw_vers reports 10.6.0 as 10.6 + if len_diff > 0: + expect_list.extend(['0'] * len_diff) + self.assertEqual(result_list, expect_list) + + # res[1] claims to contain + # (version, dev_stage, non_release_version) + # That information is no longer available + self.assertEqual(res[1], ('', '', '')) + + if sys.byteorder == 'little': + self.assertEqual(res[2], 'i386') + else: + self.assertEqual(res[2], 'PowerPC') + + + @unittest.skipUnless(sys.platform == 'darwin', "OSX only test") + def test_mac_ver_with_fork(self): + # Issue7895: platform.mac_ver() crashes when using fork without exec + # + # This test checks that the fix for that issue works. + # + pid = os.fork() + if pid == 0: + # child + info = platform.mac_ver() + os._exit(0) + + else: + # parent + cpid, sts = os.waitpid(pid, 0) + self.assertEqual(cpid, pid) + self.assertEqual(sts, 0) + + def test_dist(self): + res = platform.dist() + + def test_libc_ver(self): + import os + if os.path.isdir(sys.executable) and \ + os.path.exists(sys.executable+'.exe'): + # Cygwin horror + executable = sys.executable + '.exe' + else: + executable = sys.executable + res = platform.libc_ver(executable) + + def test_parse_release_file(self): + + for input, output in ( + # Examples of release file contents: + ('SuSE Linux 9.3 (x86-64)', ('SuSE Linux ', '9.3', 'x86-64')), + ('SUSE LINUX 10.1 (X86-64)', ('SUSE LINUX ', '10.1', 'X86-64')), + ('SUSE LINUX 10.1 (i586)', ('SUSE LINUX ', '10.1', 'i586')), + ('Fedora Core release 5 (Bordeaux)', ('Fedora Core', '5', 'Bordeaux')), + ('Red Hat Linux release 8.0 (Psyche)', ('Red Hat Linux', '8.0', 'Psyche')), + ('Red Hat Linux release 9 (Shrike)', ('Red Hat Linux', '9', 'Shrike')), + ('Red Hat Enterprise Linux release 4 (Nahant)', ('Red Hat Enterprise Linux', '4', 'Nahant')), + ('CentOS release 4', ('CentOS', '4', None)), + ('Rocks release 4.2.1 (Cydonia)', ('Rocks', '4.2.1', 'Cydonia')), + ('', ('', '', '')), # If there's nothing there. + ): + self.assertEqual(platform._parse_release_file(input), output) + + +def test_main(): + test_support.run_unittest( + PlatformTest + ) + +if __name__ == '__main__': + test_main() -- cgit v1.2.3