From 01eb5fb39b7bf83aa3a75b34f48e6e48019ecba0 Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Fri, 23 Jul 2010 14:25:11 +0200 Subject: [PATCH] portage.tests.TestCase: Add assertRaisesMsg() from pkgcore --- pym/portage/tests/__init__.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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): """ -- 2.26.2