[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