summaryrefslogtreecommitdiff
path: root/Lib/test/test_traceback.py
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2006-08-04 04:50:21 +0000
committerNeal Norwitz <nnorwitz@gmail.com>2006-08-04 04:50:21 +0000
commitff4b63b80f36fdeac1338f32ec2c4eb689b78e49 (patch)
tree3a44c046e02bf8a9f08aa68b45b943aaf5d5e345 /Lib/test/test_traceback.py
parent4b8bd31ef0d77990caa11a58938dae9f52b65ebd (diff)
downloadcpython-git-ff4b63b80f36fdeac1338f32ec2c4eb689b78e49.tar.gz
Bug #1531405, format_exception no longer raises an exception if
str(exception) raised an exception.
Diffstat (limited to 'Lib/test/test_traceback.py')
-rw-r--r--Lib/test/test_traceback.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 7f0ede5b3a..b3c5a50958 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -130,15 +130,24 @@ def test():
def test_string_exception1(self):
str_type = "String Exception"
err = traceback.format_exception_only(str_type, None)
- self.assert_(len(err) == 1)
- self.assert_(err[0] == str_type + '\n')
+ self.assertEqual(len(err), 1)
+ self.assertEqual(err[0], str_type + '\n')
def test_string_exception2(self):
str_type = "String Exception"
str_value = "String Value"
err = traceback.format_exception_only(str_type, str_value)
- self.assert_(len(err) == 1)
- self.assert_(err[0] == str_type + ': ' + str_value + '\n')
+ self.assertEqual(len(err), 1)
+ self.assertEqual(err[0], str_type + ': ' + str_value + '\n')
+
+ 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_main():