[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