Rename "exc_value" attribute on assertRaises context manager to "exception".
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 0115ffa..b1d27d2 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -898,13 +898,13 @@
              do_something()
 
       The context manager will store the caught exception object in its
-      :attr:`exc_value` attribute.  This can be useful if the intention
+      :attr:`exception` attribute.  This can be useful if the intention
       is to perform additional checks on the exception raised::
 
         with self.assertRaises(SomeException) as cm:
             do_something()
 
-        the_exception = cm.exc_value
+        the_exception = cm.exception
         self.assertEqual(the_exception.error_code, 3)
 
       .. versionchanged:: 2.7
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 8314262..ab04382 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -6,8 +6,6 @@
     TestCase.{assert,fail}* methods (some are tested implicitly)
 """
 
-from StringIO import StringIO
-import __builtin__
 import os
 import re
 import sys
@@ -626,7 +624,6 @@
         # a good chance that it won't be imported when this test is run
         module_name = 'audioop'
 
-        import sys
         if module_name in sys.modules:
             del sys.modules[module_name]
 
@@ -1014,7 +1011,6 @@
         # a good chance that it won't be imported when this test is run
         module_name = 'audioop'
 
-        import sys
         if module_name in sys.modules:
             del sys.modules[module_name]
 
@@ -1962,8 +1958,6 @@
     # methods. Contains formatted tracebacks instead
     # of sys.exc_info() results."
     def test_addFailure(self):
-        import sys
-
         class Foo(unittest.TestCase):
             def test_1(self):
                 pass
@@ -2012,8 +2006,6 @@
     # methods. Contains formatted tracebacks instead
     # of sys.exc_info() results."
     def test_addError(self):
-        import sys
-
         class Foo(unittest.TestCase):
             def test_1(self):
                 pass
@@ -2888,7 +2880,7 @@
         ctx = self.assertRaises(ExceptionMock)
         with ctx:
             Stub(v)
-        e = ctx.exc_value
+        e = ctx.exception
         self.assertIsInstance(e, ExceptionMock)
         self.assertEqual(e.args[0], v)
 
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 854ebc4..63408e3 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -104,7 +104,7 @@
         if not issubclass(exc_type, self.expected):
             # let unexpected exceptions pass through
             return False
-        self.exc_value = exc_value #store for later retrieval
+        self.exception = exc_value # store for later retrieval
         if self.expected_regexp is None:
             return True
 
@@ -389,7 +389,7 @@
 
                with self.assertRaises(SomeException) as cm:
                    do_something()
-               the_exception = cm.exc_value
+               the_exception = cm.exception
                self.assertEqual(the_exception.error_code, 3)
         """
         context = _AssertRaisesContext(excClass, self)