[py-svn] r57050 - in py/branch/event/py/test2: . testing
hpk at codespeak.net
hpk at codespeak.net
Thu Aug 7 10:07:11 CEST 2008
Author: hpk
Date: Thu Aug 7 10:07:11 2008
New Revision: 57050
Modified:
py/branch/event/py/test2/runner.py
py/branch/event/py/test2/testing/test_runner_functional.py
Log:
* fix pdb on skips
* add repr to runners
Modified: py/branch/event/py/test2/runner.py
==============================================================================
--- py/branch/event/py/test2/runner.py (original)
+++ py/branch/event/py/test2/runner.py Thu Aug 7 10:07:11 2008
@@ -21,6 +21,9 @@
self.getcapture = colitem._config._getcapture
self.pdb = pdb
+ def __repr__(self):
+ return "<%s colitem=%s>" %(self.__class__.__name__, self.colitem)
+
def run(self):
""" return result of running setup, execution, teardown procedures. """
excinfo = None
@@ -70,7 +73,7 @@
def makereport(self, res, when, excinfo, outerr):
if excinfo:
kw = self.getkw(when, excinfo, outerr)
- if self.pdb and kw['failed']:
+ if self.pdb and kw.get('failed', 0):
self.pdb(excinfo)
else:
kw = {'passed': OutcomeRepr(when, '.', "")}
Modified: py/branch/event/py/test2/testing/test_runner_functional.py
==============================================================================
--- py/branch/event/py/test2/testing/test_runner_functional.py (original)
+++ py/branch/event/py/test2/testing/test_runner_functional.py Thu Aug 7 10:07:11 2008
@@ -1,6 +1,7 @@
import py
from py.__.test2.testing.suptest import InlineCollection
from py.__.test2.runner import basic_run_report, forked_run_report, basic_collect_report
+from py.__.test2.runner import RobustRun
from py.__.code.excinfo import ReprExceptionInfo
class BaseTests(InlineCollection):
@@ -187,18 +188,26 @@
else:
py.test.fail("did not raise")
- def test_invoking_pdb(self):
+ def test_pdb_on_fail(self):
l = []
- def mypdb(excinfo):
- l.append(excinfo)
ev = self.runitem("""
def test_func():
assert 0
- """, pdb=mypdb)
+ """, pdb=l.append)
assert ev.failed
assert ev.failed.when == "execute"
assert len(l) == 1
+ def test_pdb_on_skip(self):
+ l = []
+ ev = self.runitem("""
+ import py
+ def test_func():
+ py.test.skip("hello")
+ """, pdb=l.append)
+ assert len(l) == 0
+ assert ev.skipped
+
class TestExecutionForked(BaseTests):
def getrunner(self):
return forked_run_report
@@ -240,3 +249,12 @@
assert not ev.failed
assert not ev.passed
assert ev.skipped
+
+
+class TestRunnerRepr(InlineCollection):
+ def test_runner_repr(self):
+ item = self.getitem("def test_func(): pass")
+ robustrun = RobustRun(item)
+ r = repr(robustrun)
+ assert r
+ assert r.find(item.name) != -1
More information about the pytest-commit
mailing list