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).
........
This commit is contained in:
Marc-André Lemburg 2009-03-25 19:52:04 +00:00
parent f70097684e
commit 152f222775
3 changed files with 37 additions and 28 deletions

View File

@ -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():

View File

@ -25,40 +25,49 @@ 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_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 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_python_branch(self):
res = platform.python_branch()
def test_python_revision(self):
res = platform.python_revision()
def test_python_build(self):
res = platform.python_build()
def test_python_compiler(self):
res = platform.python_compiler()
def test_version(self):
res1 = platform.version()
res2 = platform.version_tuple()
self.assertEqual(res1, ".".join(res2))
def test_release(self):
res = platform.release()
def test_system(self):
res = platform.system()
def test_version(self):
res = platform.version()
def test_system_alias(self):
res = platform.system_alias(
platform.system(),

View File

@ -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