[Python-checkins] r71358 - in python/branches/release26-maint: Lib/test/test_traceback.py Lib/traceback.py

hirokazu.yamamoto python-checkins at python.org
Tue Apr 7 16:33:53 CEST 2009


Author: hirokazu.yamamoto
Date: Tue Apr  7 16:33:53 2009
New Revision: 71358

Log:
Rolled back revisions 71237 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/test/test_traceback.py
   python/branches/release26-maint/Lib/traceback.py

Modified: python/branches/release26-maint/Lib/test/test_traceback.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_traceback.py	(original)
+++ python/branches/release26-maint/Lib/test/test_traceback.py	Tue Apr  7 16:33:53 2009
@@ -8,6 +8,16 @@
 
 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 @@
 
 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'))

Modified: python/branches/release26-maint/Lib/traceback.py
==============================================================================
--- python/branches/release26-maint/Lib/traceback.py	(original)
+++ python/branches/release26-maint/Lib/traceback.py	Tue Apr  7 16:33:53 2009
@@ -64,7 +64,7 @@
         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 @@
         _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 @@
                 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


More information about the Python-checkins mailing list