summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2010-02-08 21:57:48 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2010-02-08 21:57:48 (GMT)
commit490082302779decbaf66a80480ae45fba6ae0e20 (patch)
treed559eff683af5b3beee37137a96f9cf3ada3c747
parent7b26d7f82f67649a7c72f7bd30bf9248f6f542bc (diff)
downloadcpython-490082302779decbaf66a80480ae45fba6ae0e20.zip
cpython-490082302779decbaf66a80480ae45fba6ae0e20.tar.gz
cpython-490082302779decbaf66a80480ae45fba6ae0e20.tar.bz2
Merged revisions 78091,78094,78109 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r78091 | georg.brandl | 2010-02-07 19:02:22 +0200 (Sun, 07 Feb 2010) | 1 line Rename "exc_value" attribute on assertRaises context manager to "exception". ........ r78094 | michael.foord | 2010-02-07 20:44:12 +0200 (Sun, 07 Feb 2010) | 1 line assertRaises as context manager now allows you to access exception as documented ........ r78109 | ezio.melotti | 2010-02-08 23:52:08 +0200 (Mon, 08 Feb 2010) | 1 line Fix exc_value -> exception in docstring ........
-rw-r--r--Doc/library/unittest.rst12
-rw-r--r--Lib/test/test_unittest.py18
-rw-r--r--Lib/unittest/case.py10
3 files changed, 20 insertions, 20 deletions
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index fc09aa0..20f775c 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -895,24 +895,24 @@ Test cases
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:: 3.1
+ .. versionchanged:: 3.1
Added the ability to use :meth:`assertRaises` as a context manager.
+ .. versionchanged:: 3.2
+ Added the :attr:`exception` attribute.
+
.. deprecated:: 3.1
:meth:`failUnlessRaises`.
- .. versionchanged:: 3.2
- Added the :attr:`exc_value` attribute.
-
.. method:: assertRaisesRegexp(exception, regexp[, callable, ...])
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index e58c6b7..c944217 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -626,7 +626,6 @@ class Test_TestLoader(TestCase):
# 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 +1013,6 @@ class Test_TestLoader(TestCase):
# 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]
@@ -1972,8 +1970,6 @@ class Test_TestResult(TestCase):
# 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
@@ -2022,8 +2018,6 @@ class Test_TestResult(TestCase):
# 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
@@ -2861,7 +2855,7 @@ test case
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)
@@ -3047,8 +3041,14 @@ class Test_Assertions(TestCase):
pass
else:
self.fail("assertRaises() didn't let exception pass through")
- with self.assertRaises(KeyError):
- raise KeyError
+ with self.assertRaises(KeyError) as cm:
+ try:
+ raise KeyError
+ except Exception as e:
+ exc = e
+ raise
+ self.assertIs(cm.exception, exc)
+
with self.assertRaises(KeyError):
raise KeyError("key")
try:
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 8632652..a4e45aa 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -99,7 +99,7 @@ class _AssertRaisesContext(object):
self.expected_regex = expected_regexp
def __enter__(self):
- pass
+ return self
def __exit__(self, exc_type, exc_value, tb):
if exc_type is None:
@@ -116,8 +116,8 @@ class _AssertRaisesContext(object):
if not issubclass(exc_type, self.expected):
# let unexpected exceptions pass through
return False
- #store exception, without traceback, for later retrieval
- self.exc_value = exc_value.with_traceback(None)
+ # store exception, without traceback, for later retrieval
+ self.exception = exc_value.with_traceback(None)
if self.expected_regex is None:
return True
@@ -397,12 +397,12 @@ class TestCase(object):
do_something()
The context manager keeps a reference to the exception as
- the exc_value attribute. This allows you to inspect the
+ the 'exception' attribute. This allows you to inspect the
exception after the assertion::
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, callableObj)