[py-svn] r34574 - py/dist/py/test/rsession

fijal at codespeak.net fijal at codespeak.net
Mon Nov 13 17:02:43 CET 2006


Author: fijal
Date: Mon Nov 13 17:02:41 2006
New Revision: 34574

Modified:
   py/dist/py/test/rsession/outcome.py
   py/dist/py/test/rsession/reporter.py
Log:
Added short/no traceback outcome.


Modified: py/dist/py/test/rsession/outcome.py
==============================================================================
--- py/dist/py/test/rsession/outcome.py	(original)
+++ py/dist/py/test/rsession/outcome.py	Mon Nov 13 17:02:41 2006
@@ -7,6 +7,7 @@
 #          internal bug.
 
 import sys
+import py
 
 class Outcome(object):
     def __init__(self, setupfailure=False, excinfo=None, skipped=None,
@@ -31,7 +32,10 @@
         relline = lineno - tb_entry.frame.code.firstlineno
         path = str(tb_entry.path)
         try:
-            source = str(tb_entry.getsource())
+            if py.test.remote.tbstyle == 'long':
+                source = str(tb_entry.getsource())
+            else:
+                source = str(tb_entry.getsource()).split("\n")[relline]
         except:
             source = "<could not get source>"
         return (relline, lineno, source, path)

Modified: py/dist/py/test/rsession/reporter.py
==============================================================================
--- py/dist/py/test/rsession/reporter.py	(original)
+++ py/dist/py/test/rsession/reporter.py	Mon Nov 13 17:02:41 2006
@@ -115,8 +115,7 @@
             self.out.line("empty traceback from item %r" % (item,)) 
             return
         #handler = getattr(self, 'repr_failure_tb%s' % self.config.option.tbstyle)
-        handler = self.repr_failure_tblong
-        handler(item, excinfo, traceback)
+        self.repr_traceback(item, excinfo, traceback)
         if outcome.stdout:
             self.out.sep('-', " Captured process stdout: ")
             self.out.write(outcome.stdout)
@@ -134,11 +133,16 @@
             self.out.sep('-', " Captured process stderr: ")
             self.out.write(outcome.stderr)
 
-    def repr_failure_tblong(self, item, excinfo, traceback):
-        for index, entry in py.builtin.enumerate(traceback): 
-            self.out.sep('-')
-            self.out.line("%s: %s" % (entry.path, entry.lineno))
-            self.repr_source(entry.relline, str(entry.source))
+    def repr_traceback(self, item, excinfo, traceback):
+        if self.config.option.tbstyle == 'long':
+            for index, entry in py.builtin.enumerate(traceback): 
+                self.out.sep('-')
+                self.out.line("%s: %s" % (entry.path, entry.lineno))
+                self.repr_source(entry.relline, str(entry.source))
+        elif self.config.option.tbstyle == 'short':
+            for index, entry in py.builtin.enumerate(traceback): 
+                self.out.line("%s: %s" % (entry.path, entry.lineno))
+                self.out.line(entry.source)
         self.out.line("%s: %s" % (excinfo.typename, excinfo.value))
     
     def repr_source(self, relline, source):



More information about the pytest-commit mailing list