Adapt platform and test_platform to the build identification changes.
diff --git a/Lib/platform.py b/Lib/platform.py
index 7fba143..780301d 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1373,7 +1373,9 @@
         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 4fd286a..2f688a4 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -51,11 +51,13 @@
     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):
@@ -103,10 +105,12 @@
                 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])