def test_format_exception_only_bad__str__(self): class X(Exception): def __str__(self): 1/0 err = traceback.format_exception_only(X, X()) self.assertEqual(len(err), 1) str_value = '<unprintable %s object>' % X.__name__ self.assertEqual(err[0], X.__name__ + ': ' + str_value + '\n')
def test_without_exception(self): err = traceback.format_exception_only(None, None) self.assertEqual(err, ['None\n'])
def get_exception_format(self, func, exc): try: func() except exc, value: return traceback.format_exception_only(exc, value)
def test_string_exception2(self): str_type = "String Exception" str_value = "String Value" err = traceback.format_exception_only(str_type, str_value) self.assertEqual(len(err), 1) self.assertEqual(err[0], str_type + ': ' + str_value + '\n')
def test_string_exception1(self): str_type = "String Exception" err = traceback.format_exception_only(str_type, None) self.assertEqual(len(err), 1) self.assertEqual(err[0], str_type + '\n')
def test_base_exception(self): # Test that exceptions derived from BaseException are formatted right e = KeyboardInterrupt() lst = traceback.format_exception_only(e.__class__, e) self.assertEqual(lst, ['KeyboardInterrupt\n'])