From: Michael Foord Date: Sun, 7 Feb 2010 18:44:12 +0000 (+0000) Subject: assertRaises as context manager now allows you to access exception as documented X-Git-Tag: v2.7a4~225 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2bd52dcccbd38908ae2a3b3bdceb3b04d6b16c81;p=thirdparty%2FPython%2Fcpython.git assertRaises as context manager now allows you to access exception as documented --- diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py index ab043822daf0..04a7322b236e 100644 --- a/Lib/test/test_unittest.py +++ b/Lib/test/test_unittest.py @@ -3059,8 +3059,13 @@ 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, e: + raise + self.assertIs(cm.exception, e) + with self.assertRaises(KeyError): raise KeyError("key") try: diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index 63408e35ace3..4acfa6539aff 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -91,7 +91,7 @@ class _AssertRaisesContext(object): self.expected_regexp = expected_regexp def __enter__(self): - pass + return self def __exit__(self, exc_type, exc_value, tb): if exc_type is None: