From: Sebastian Luther Date: Fri, 23 Jul 2010 12:25:11 +0000 (+0200) Subject: portage.tests.TestCase: Add assertRaisesMsg() from pkgcore X-Git-Tag: v2.2_rc68~471 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=01eb5fb39b7bf83aa3a75b34f48e6e48019ecba0;p=portage.git portage.tests.TestCase: Add assertRaisesMsg() from pkgcore --- diff --git a/pym/portage/tests/__init__.py b/pym/portage/tests/__init__.py index 704847198..393ecf78c 100644 --- a/pym/portage/tests/__init__.py +++ b/pym/portage/tests/__init__.py @@ -154,6 +154,23 @@ class TestCase(unittest.TestCase): if ok: result.addSuccess(self) finally: result.stopTest(self) + + def assertRaisesMsg(self, msg, excClass, callableObj, *args, **kwargs): + """Fail unless an exception of class excClass is thrown + by callableObj when invoked with arguments args and keyword + arguments kwargs. If a different type of exception is + thrown, it will not be caught, and the test case will be + deemed to have suffered an error, exactly as for an + unexpected exception. + """ + try: + callableObj(*args, **kwargs) + except excClass: + return + else: + if hasattr(excClass,'__name__'): excName = excClass.__name__ + else: excName = str(excClass) + raise self.failureException("%s not raised: %s" % (excName, msg)) class TextTestRunner(unittest.TextTestRunner): """