Rename TestCase._result to _resultForDoCleanups to avoid potential clashes in TestCase subclasses. Issue 6072.
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index d815a11..4f89d87 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -3203,7 +3203,7 @@
 
         result = MockResult()
         test = TestableTest('testNothing')
-        test._result = result
+        test._resultForDoCleanups = result
 
         exc1 = Exception('foo')
         exc2 = Exception('bar')
diff --git a/Lib/unittest.py b/Lib/unittest.py
index 5858d89..fce70f8 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -352,7 +352,7 @@
            not have a method with the specified name.
         """
         self._testMethodName = methodName
-        self._result = None
+        self._resultForDoCleanups = None
         try:
             testMethod = getattr(self, methodName)
         except AttributeError:
@@ -456,7 +456,7 @@
             if startTestRun is not None:
                 startTestRun()
 
-        self._result = result
+        self._resultForDoCleanups = result
         result.startTest(self)
         testMethod = getattr(self, self._testMethodName)
         try:
@@ -503,7 +503,7 @@
     def doCleanups(self):
         """Execute all cleanup functions. Normally called for you after
         tearDown."""
-        result = self._result
+        result = self._resultForDoCleanups
         ok = True
         while self._cleanups:
             function, args, kwargs = self._cleanups.pop(-1)