[py-svn] r63584 - py/trunk/py/test

hpk at codespeak.net hpk at codespeak.net
Fri Apr 3 22:16:04 CEST 2009


Author: hpk
Date: Fri Apr  3 22:16:02 2009
New Revision: 63584

Modified:
   py/trunk/py/test/event.py
   py/trunk/py/test/runner.py
Log:
killing more code, simplifying running of tests. 


Modified: py/trunk/py/test/event.py
==============================================================================
--- py/trunk/py/test/event.py	(original)
+++ py/trunk/py/test/event.py	Fri Apr  3 22:16:02 2009
@@ -67,13 +67,12 @@
     """ Collection Report. """
     skipped = failed = passed = False 
 
-    def __init__(self, colitem, result, excinfo=None, when=None, outerr=None):
+    def __init__(self, colitem, result, excinfo=None, outerr=None):
         self.colitem = colitem 
         if not excinfo:
             self.passed = True
             self.result = result 
         else:
-            self.when = when 
             self.outerr = outerr
             self.longrepr = self.colitem._repr_failure_py(excinfo, outerr)
             if excinfo.errisinstance(Skipped):

Modified: py/trunk/py/test/runner.py
==============================================================================
--- py/trunk/py/test/runner.py	(original)
+++ py/trunk/py/test/runner.py	Fri Apr  3 22:16:02 2009
@@ -25,70 +25,49 @@
         return "<%s colitem=%s>" %(self.__class__.__name__, self.colitem)
 
 
-class ItemRunner(RobustRun):
-    def run(self):
-        """ return result of running setup, execution, teardown procedures. """ 
-        excinfo = None
-        capture = self.getcapture()
+def basic_run_report(item, pdb=None):
+    """ return report about setting up and running a test item. """ 
+    excinfo = None
+    capture = item.config._getcapture()
+    try:
         try:
+            when = "setup"
+            item.config._setupstate.prepare(item)
             try:
-                when = "setup"
-                self.colitem.config._setupstate.prepare(self.colitem)
-                try:
-                    when = "execute"
-                    res = self.colitem.runtest()
-                finally:
-                    when = "teardown"
-                    self.colitem.config._setupstate.teardown_exact(self.colitem)
-                    when = "execute"
+                when = "execute"
+                res = item.runtest()
             finally:
-                outerr = capture.reset()
-        except (Exit, KeyboardInterrupt):
-            raise
-        except: 
-            excinfo = py.code.ExceptionInfo()
-        return self.makereport(when, excinfo, outerr)
-
-    def makereport(self, when, excinfo, outerr):
-        testrep = self.colitem.config.pytestplugins.call_firstresult(
-            "pytest_item_makereport", item=self.colitem, 
-            excinfo=excinfo, when=when, outerr=outerr)
-        if self.pdb and testrep.failed:
-            tw = py.io.TerminalWriter()
-            testrep.toterminal(tw)
-            self.pdb(excinfo)
-        return testrep
-
-class CollectorRunner(RobustRun):
-    def run(self):
-        """ return result of running setup, execution, teardown procedures. """ 
-        excinfo = None
-        res = NORESULT
-        capture = self.getcapture()
+                when = "teardown"
+                item.config._setupstate.teardown_exact(item)
+                when = "execute"
+        finally:
+            outerr = capture.reset()
+    except (Exit, KeyboardInterrupt):
+        raise
+    except: 
+        excinfo = py.code.ExceptionInfo()
+    testrep = item.config.pytestplugins.call_firstresult(
+        "pytest_item_makereport", item=item, 
+        excinfo=excinfo, when=when, outerr=outerr)
+    if pdb and testrep.failed:
+        tw = py.io.TerminalWriter()
+        testrep.toterminal(tw)
+        pdb(excinfo)
+    return testrep
+
+def basic_collect_report(collector):
+    excinfo = res = None
+    try:
+        capture = collector.config._getcapture()
         try:
-            try:
-                res = self.colitem._memocollect()
-            finally:
-                outerr = capture.reset()
-        except (Exit, KeyboardInterrupt):
-            raise
-        except: 
-            excinfo = py.code.ExceptionInfo()
-        return self.makereport(res, "execute", excinfo, outerr)
-
-    def makereport(self, res, when, excinfo, outerr):
-        return event.CollectionReport(self.colitem, res, excinfo, when, outerr)
-   
-NORESULT = object()
-# 
-# public entrypoints / objects 
-#
-
-def basic_collect_report(item):
-    return CollectorRunner(item).run()
-    
-def basic_run_report(item, pdb=None):
-    return ItemRunner(item, pdb=pdb).run()
+            res = collector._memocollect()
+        finally:
+            outerr = capture.reset()
+    except (Exit, KeyboardInterrupt):
+        raise
+    except: 
+        excinfo = py.code.ExceptionInfo()
+    return event.CollectionReport(collector, res, excinfo, outerr)
 
 from cPickle import Pickler, Unpickler
 from cStringIO import StringIO



More information about the pytest-commit mailing list