From 152f222775e2d9341830996873685d95419ae2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lemburg?= Date: Wed, 25 Mar 2009 19:52:04 +0000 Subject: Merged revisions 70594-70595 via svnmerge from svn+pythonssh://pythondev@svn.python.org/python/trunk ........ r70594 | marc-andre.lemburg | 2009-03-25 20:44:58 +0100 (Wed, 25 Mar 2009) | 9 lines Remove the sys.version_info shortcut, since they cause the APIs to return different information than the _sys_version() output used in previous Python versions. This also fixes issue5561: platform.python_version_tuple returns tuple of ints, should be strings Added more tests for the various platform functions. ........ r70595 | marc-andre.lemburg | 2009-03-25 20:45:33 +0100 (Wed, 25 Mar 2009) | 3 lines News item for the platform.py fix (r70594). ........ --- Lib/platform.py | 12 ++++-------- Lib/test/test_platform.py | 49 ++++++++++++++++++++++++++++------------------- Misc/NEWS | 4 ++++ 3 files changed, 37 insertions(+), 28 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py index 29d55ec..ee18749 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -1296,10 +1296,10 @@ _sys_version_cache = {} def _sys_version(sys_version=None): """ Returns a parsed version of Python's sys.version as tuple - (name, version, branch, revision, buildno, builddate, compiler) - referring to the Python implementation name, version, branch, - revision, build number, build date/time as string and the compiler - identification string. + (name, version, branch, revision, buildno, builddate, compiler) + referring to the Python implementation name, version, branch, + revision, build number, build date/time as string and the compiler + identification string. Note that unlike the Python sys.version, the returned value for the Python version will always include the patchlevel (it @@ -1416,8 +1416,6 @@ def python_version(): will always include the patchlevel (it defaults to 0). """ - if hasattr(sys, 'version_info'): - return '%i.%i.%i' % sys.version_info[:3] return _sys_version()[1] def python_version_tuple(): @@ -1429,8 +1427,6 @@ def python_version_tuple(): will always include the patchlevel (it defaults to 0). """ - if hasattr(sys, 'version_info'): - return sys.version_info[:3] return tuple(string.split(_sys_version()[1], '.')) def python_branch(): diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py index 2fa1309..9056d47 100644 --- a/Lib/test/test_platform.py +++ b/Lib/test/test_platform.py @@ -25,39 +25,48 @@ class PlatformTest(unittest.TestCase): finally: os.remove(link) - def test_machine(self): - res = platform.machine() - - def test_node(self): - res = platform.node() - def test_platform(self): for aliased in (False, True): for terse in (False, True): res = platform.platform(aliased, terse) - def test_processor(self): - res = platform.processor() + def test_system(self): + res = platform.system() - def test_python_build(self): - res = platform.python_build() + def test_node(self): + res = platform.node() - def test_python_compiler(self): - res = platform.python_compiler() + def test_release(self): + res = platform.release() def test_version(self): - res1 = platform.version() - res2 = platform.version_tuple() + res = platform.version() + + def test_machine(self): + res = platform.machine() + + def test_processor(self): + res = platform.processor() + + def test_python_implementation(self): + res = platform.python_implementation() + + def test_python_version(self): + res1 = platform.python_version() + res2 = platform.python_version_tuple() self.assertEqual(res1, ".".join(res2)) - def test_release(self): - res = platform.release() + def test_python_branch(self): + res = platform.python_branch() - def test_system(self): - res = platform.system() + def test_python_revision(self): + res = platform.python_revision() - def test_version(self): - res = platform.version() + def test_python_build(self): + res = platform.python_build() + + def test_python_compiler(self): + res = platform.python_compiler() def test_system_alias(self): res = platform.system_alias( diff --git a/Misc/NEWS b/Misc/NEWS index 04853bf..40322d2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -92,6 +92,10 @@ Core and Builtins Library ------- +- Issue #5561: Removed the sys.version_info shortcuts from platform's + python_version() and python_version_tuple() since they produced different + output compared to previous Python versions. + - Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop forever on incomplete input. That caused tarfile.open() to hang when used with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or -- cgit v0.12