mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
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.
This commit is contained in:
parent
9a1337b95e
commit
a519cfc953
2 changed files with 33 additions and 28 deletions
|
|
@ -1278,10 +1278,10 @@ _sys_version_cache = {}
|
||||||
def _sys_version(sys_version=None):
|
def _sys_version(sys_version=None):
|
||||||
|
|
||||||
""" Returns a parsed version of Python's sys.version as tuple
|
""" Returns a parsed version of Python's sys.version as tuple
|
||||||
(name, version, branch, revision, buildno, builddate, compiler)
|
(name, version, branch, revision, buildno, builddate, compiler)
|
||||||
referring to the Python implementation name, version, branch,
|
referring to the Python implementation name, version, branch,
|
||||||
revision, build number, build date/time as string and the compiler
|
revision, build number, build date/time as string and the compiler
|
||||||
identification string.
|
identification string.
|
||||||
|
|
||||||
Note that unlike the Python sys.version, the returned value
|
Note that unlike the Python sys.version, the returned value
|
||||||
for the Python version will always include the patchlevel (it
|
for the Python version will always include the patchlevel (it
|
||||||
|
|
@ -1383,8 +1383,6 @@ def python_version():
|
||||||
will always include the patchlevel (it defaults to 0).
|
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]
|
return _sys_version()[1]
|
||||||
|
|
||||||
def python_version_tuple():
|
def python_version_tuple():
|
||||||
|
|
@ -1396,8 +1394,6 @@ def python_version_tuple():
|
||||||
will always include the patchlevel (it defaults to 0).
|
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], '.'))
|
return tuple(string.split(_sys_version()[1], '.'))
|
||||||
|
|
||||||
def python_branch():
|
def python_branch():
|
||||||
|
|
|
||||||
|
|
@ -25,40 +25,49 @@ class PlatformTest(unittest.TestCase):
|
||||||
finally:
|
finally:
|
||||||
os.remove(link)
|
os.remove(link)
|
||||||
|
|
||||||
def test_machine(self):
|
|
||||||
res = platform.machine()
|
|
||||||
|
|
||||||
def test_node(self):
|
|
||||||
res = platform.node()
|
|
||||||
|
|
||||||
def test_platform(self):
|
def test_platform(self):
|
||||||
for aliased in (False, True):
|
for aliased in (False, True):
|
||||||
for terse in (False, True):
|
for terse in (False, True):
|
||||||
res = platform.platform(aliased, terse)
|
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):
|
def test_processor(self):
|
||||||
res = platform.processor()
|
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):
|
def test_python_build(self):
|
||||||
res = platform.python_build()
|
res = platform.python_build()
|
||||||
|
|
||||||
def test_python_compiler(self):
|
def test_python_compiler(self):
|
||||||
res = platform.python_compiler()
|
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):
|
def test_system_alias(self):
|
||||||
res = platform.system_alias(
|
res = platform.system_alias(
|
||||||
platform.system(),
|
platform.system(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue