diff options
-rw-r--r-- | pym/portage/tests/__init__.py | 17 |
1 files changed, 17 insertions, 0 deletions
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): """ |