[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