From 6a2a2a08329567ea41f4f073cb43e487f83872c7 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 26 Aug 2006 20:37:44 +0000 Subject: [PATCH] Inspired by SF patch #860326, make the exception formatting by traceback.py be closer to the built-in formatting. A few unittests had to be fixed, too. --- Lib/decimal.py | 4 ++-- Lib/doctest.py | 4 ++-- Lib/test/test_doctest.py | 2 +- Lib/test/test_traceback.py | 4 +++- Lib/test/test_unpack.py | 4 ++-- Lib/traceback.py | 3 +++ 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Lib/decimal.py b/Lib/decimal.py index a8fde82d4e8..99c0de6d328 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -85,7 +85,7 @@ Traceback (most recent call last): ... ... ... -DivisionByZero: x / 0 +decimal.DivisionByZero: x / 0 >>> c = Context() >>> c.traps[InvalidOperation] = 0 >>> print c.flags[InvalidOperation] @@ -103,7 +103,7 @@ Traceback (most recent call last): ... ... ... -InvalidOperation: 0 / 0 +decimal.InvalidOperation: 0 / 0 >>> print c.flags[InvalidOperation] 1 >>> c.flags[InvalidOperation] = 0 diff --git a/Lib/doctest.py b/Lib/doctest.py index 2774ec16e7b..71609075b4e 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -1581,7 +1581,7 @@ class UnexpectedException(Exception): - test: the DocTest object being run - - excample: the Example object that failed + - example: the Example object that failed - exc_info: the exception info """ @@ -1664,7 +1664,7 @@ class DebugRunner(DocTestRunner): >>> runner.run(test) Traceback (most recent call last): ... - UnexpectedException: + doctest.UnexpectedException: >>> del test.globs['__builtins__'] >>> test.globs diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index 12d75dd2043..1390e15b764 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -2234,7 +2234,7 @@ debugging): >>> doctest.testfile('test_doctest.txt', raise_on_error=True) ... # doctest: +ELLIPSIS Traceback (most recent call last): - UnexpectedException: ... + doctest.UnexpectedException: ... >>> doctest.master = None # Reset master. If the tests contain non-ASCII characters, the tests might fail, since diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py index 6f9e46476ae..9ba1dca23de 100644 --- a/Lib/test/test_traceback.py +++ b/Lib/test/test_traceback.py @@ -118,7 +118,9 @@ def test(): err = traceback.format_exception_only(X, X()) self.assertEqual(len(err), 1) str_value = '' % X.__name__ - self.assertEqual(err[0], X.__name__ + ': ' + str_value + '\n') + self.assertEqual(err[0], "%s.%s: %s\n" % (X.__module__, + X.__name__, + str_value)) def test_main(): diff --git a/Lib/test/test_unpack.py b/Lib/test/test_unpack.py index 3f726487e0a..cd48689a114 100644 --- a/Lib/test/test_unpack.py +++ b/Lib/test/test_unpack.py @@ -107,7 +107,7 @@ error) >>> a, b, c, d, e = BadSeq() Traceback (most recent call last): ... - BozoError + test.test_unpack.BozoError Trigger code while expecting an IndexError (unpack sequence too short, wrong error) @@ -115,7 +115,7 @@ error) >>> a, b, c = BadSeq() Traceback (most recent call last): ... - BozoError + test.test_unpack.BozoError """ diff --git a/Lib/traceback.py b/Lib/traceback.py index efd0f753943..eb2fdf690a2 100644 --- a/Lib/traceback.py +++ b/Lib/traceback.py @@ -163,6 +163,9 @@ def format_exception_only(etype, value): """ stype = etype.__name__ + smod = etype.__module__ + if smod not in ("exceptions", "__main__", "__builtin__"): + stype = smod + '.' + stype if not issubclass(etype, SyntaxError): return [_format_final_exc_line(stype, value)]