summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>2009-04-07 14:33:53 (GMT)
committerHirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>2009-04-07 14:33:53 (GMT)
commit32b18cc2cfd0a54611192e500757952bd9fcf0d4 (patch)
treed651346fea180d1dd8bbc58e9c389abc5458236d
parentcfbb18f149d549a06c3cac5e48eb66e1457615a6 (diff)
downloadcpython-32b18cc2cfd0a54611192e500757952bd9fcf0d4.zip
cpython-32b18cc2cfd0a54611192e500757952bd9fcf0d4.tar.gz
cpython-32b18cc2cfd0a54611192e500757952bd9fcf0d4.tar.bz2
Rolled back revisions 71237 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
-rw-r--r--Lib/test/test_traceback.py29
-rw-r--r--Lib/traceback.py9
2 files changed, 17 insertions, 21 deletions
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 5cd08ee..0708f81 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -8,6 +8,16 @@ from test.test_support import run_unittest, is_jython, Error
import traceback
+try:
+ raise KeyError
+except KeyError:
+ type_, value, tb = sys.exc_info()
+ file_ = StringIO()
+ traceback_print(tb, file_)
+ example_traceback = file_.getvalue()
+else:
+ raise Error("unable to create test traceback string")
+
class TracebackCases(unittest.TestCase):
# For now, a very minimal set of tests. I want to be sure that
@@ -152,24 +162,9 @@ def test():
class TracebackFormatTests(unittest.TestCase):
- def test_traceback_format(self):
- try:
- raise KeyError('blah')
- except KeyError:
- type_, value, tb = sys.exc_info()
- traceback_fmt = 'Traceback (most recent call last):\n' + \
- ''.join(traceback.format_tb(tb))
- file_ = StringIO()
- traceback_print(tb, file_)
- python_fmt = file_.getvalue()
- else:
- raise Error("unable to create test traceback string")
-
- # Make sure that Python and the traceback module format the same thing
- self.assertEquals(traceback_fmt, python_fmt)
-
+ def test_traceback_indentation(self):
# Make sure that the traceback is properly indented.
- tb_lines = python_fmt.splitlines()
+ tb_lines = example_traceback.splitlines()
self.assertEquals(len(tb_lines), 3)
banner, location, source_line = tb_lines
self.assert_(banner.startswith('Traceback'))
diff --git a/Lib/traceback.py b/Lib/traceback.py
index ea3d51a..3d877ee 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -64,7 +64,7 @@ def print_tb(tb, limit=None, file=None):
filename = co.co_filename
name = co.co_name
_print(file,
- ' File "%s", line %d, in %s' % (filename, lineno, name))
+ ' File "%s", line %d, in %s' % (filename,lineno,name))
linecache.checkcache(filename)
line = linecache.getline(filename, lineno, f.f_globals)
if line: _print(file, ' ' + line.strip())
@@ -124,8 +124,9 @@ def print_exception(etype, value, tb, limit=None, file=None):
_print(file, 'Traceback (most recent call last):')
print_tb(tb, limit, file)
lines = format_exception_only(etype, value)
- for line in lines:
- _print(file, line, '')
+ for line in lines[:-1]:
+ _print(file, line, ' ')
+ _print(file, lines[-1], '')
def format_exception(etype, value, tb, limit = None):
"""Format a stack trace and the exception information.
@@ -194,7 +195,7 @@ def format_exception_only(etype, value):
caretspace = ((c.isspace() and c or ' ') for c in caretspace)
# only three spaces to account for offset1 == pos 0
lines.append(' %s^\n' % ''.join(caretspace))
- value = msg
+ value = msg
lines.append(_format_final_exc_line(stype, value))
return lines