summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rwxr-xr-xLib/platform.py4
-rw-r--r--Lib/test/test_platform.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/Lib/platform.py b/Lib/platform.py
index b9bc303..de81b63 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1392,7 +1392,9 @@ def _sys_version(sys_version=None):
name = 'CPython'
builddate = builddate + ' ' + buildtime
- if hasattr(sys, 'subversion'):
+ if hasattr(sys, '_mercurial'):
+ _, branch, revision = sys._mercurial
+ elif hasattr(sys, 'subversion'):
# sys.subversion was added in Python 2.5
_, branch, revision = sys.subversion
else:
diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py
index 7dd7eef..ec134a1 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -57,11 +57,13 @@ class PlatformTest(unittest.TestCase):
def setUp(self):
self.save_version = sys.version
self.save_subversion = sys.subversion
+ self.save_mercurial = sys._mercurial
self.save_platform = sys.platform
def tearDown(self):
sys.version = self.save_version
sys.subversion = self.save_subversion
+ sys._mercurial = self.save_mercurial
sys.platform = self.save_platform
def test_sys_version(self):
@@ -109,10 +111,12 @@ class PlatformTest(unittest.TestCase):
sys_versions.items():
sys.version = version_tag
if subversion is None:
+ if hasattr(sys, "_mercurial"):
+ del sys._mercurial
if hasattr(sys, "subversion"):
del sys.subversion
else:
- sys.subversion = subversion
+ sys._mercurial = subversion
if sys_platform is not None:
sys.platform = sys_platform
self.assertEqual(platform.python_implementation(), info[0])