[py-svn] r31527 - in py/branch/distributed/py/test/rsession: . testing

hpk at codespeak.net hpk at codespeak.net
Wed Aug 23 13:13:09 CEST 2006


Author: hpk
Date: Wed Aug 23 13:13:02 2006
New Revision: 31527

Modified:
   py/branch/distributed/py/test/rsession/executor.py
   py/branch/distributed/py/test/rsession/outcome.py
   py/branch/distributed/py/test/rsession/slave.py
   py/branch/distributed/py/test/rsession/testing/test_executor.py
Log:
(fijal, hpk) executor groks skipped tests and does not use setup-logic for now. 


Modified: py/branch/distributed/py/test/rsession/executor.py
==============================================================================
--- py/branch/distributed/py/test/rsession/executor.py	(original)
+++ py/branch/distributed/py/test/rsession/executor.py	Wed Aug 23 13:13:02 2006
@@ -39,6 +39,8 @@
         try:
             self.item.run()
             return Outcome()
+        except py.test.Item.Skipped: 
+            return Outcome(skipped=True)
         except:
             excinfo = py.code.ExceptionInfo()
             return Outcome(excinfo=excinfo, setupfailure=False)

Modified: py/branch/distributed/py/test/rsession/outcome.py
==============================================================================
--- py/branch/distributed/py/test/rsession/outcome.py	(original)
+++ py/branch/distributed/py/test/rsession/outcome.py	Wed Aug 23 13:13:02 2006
@@ -3,10 +3,12 @@
 """
 
 class Outcome(object):
-    def __init__(self, setupfailure=False, excinfo=None):
-        self.passed = not excinfo 
+    def __init__(self, setupfailure=False, excinfo=None, skipped=False):
+        self.passed = not excinfo and not skipped
+        self.skipped = skipped 
         self.setupfailure = setupfailure 
         self.excinfo = excinfo 
+        assert bool(self.passed) + bool(excinfo) + bool(skipped) == 1
     
     def make_repr(self):
         return (self.passed, self.setupfailure, repr(self.excinfo))

Modified: py/branch/distributed/py/test/rsession/slave.py
==============================================================================
--- py/branch/distributed/py/test/rsession/slave.py	(original)
+++ py/branch/distributed/py/test/rsession/slave.py	Wed Aug 23 13:13:02 2006
@@ -11,10 +11,10 @@
 
     def execute(self, itemspec):
         item = self.rootcollector.getitembynames(itemspec)
-        if isinstance(item, py.test.Function):
-            ex = Executor(item.obj, setup=item.setup)
-        else:
-            ex = RunExecutor(item)
+        #if isinstance(item, py.test.Function):
+        #    ex = Executor(item.obj, setup=item.setup)
+        #else:
+        ex = RunExecutor(item)
         return ex.execute()
 
     def run(self, itemspec):

Modified: py/branch/distributed/py/test/rsession/testing/test_executor.py
==============================================================================
--- py/branch/distributed/py/test/rsession/testing/test_executor.py	(original)
+++ py/branch/distributed/py/test/rsession/testing/test_executor.py	Wed Aug 23 13:13:02 2006
@@ -24,13 +24,13 @@
     assert excinfo.traceback[1].frame.code.name == 'g2'
     assert excinfo.traceback[0].frame.code.name == 'g1'
 
-def test_executor_setup_passing(): 
+def XXX_test_executor_setup_passing(): 
     ex = Executor(example1.f1, setup=lambda: None)
     outcome = ex.execute()
     assert outcome.passed 
     assert not outcome.setupfailure 
 
-def test_executor_setup_failing(): 
+def XXX_test_executor_setup_failing(): 
     def failingsetup():
         raise ValueError
     ex = Executor(example1.f1, setup=failingsetup)
@@ -47,6 +47,10 @@
     def run(self):
         assert 0 == 1
 
+class ItemTestSkipping(py.test.Item):
+    def run(self):
+        py.test.skip("hello")
+
 def test_run_executor():
     ex = RunExecutor(ItemTestPassing("pass"))
     outcome = ex.execute()
@@ -55,3 +59,9 @@
     ex = RunExecutor(ItemTestFailing("fail"))
     outcome = ex.execute()
     assert not outcome.passed
+
+    ex = RunExecutor(ItemTestSkipping("fail"))
+    outcome = ex.execute()
+    assert outcome.skipped 
+    assert not outcome.passed
+    assert not outcome.excinfo 



More information about the pytest-commit mailing list