use new marking idioms, simplify generalized skipping implementation

--HG--
branch : trunk
This commit is contained in:
holger krekel
2009-10-22 18:37:24 +02:00
parent 4a76c096da
commit 861f34fe90
7 changed files with 40 additions and 62 deletions

View File

@@ -218,7 +218,8 @@ class TestExecutionNonForked(BaseFunctionalTests):
py.test.fail("did not raise")
class TestExecutionForked(BaseFunctionalTests):
skipif = "not hasattr(os, 'fork')"
pytestmark = py.test.mark.skipif("not hasattr(os, 'fork')")
def getrunner(self):
return runner.forked_run_report

View File

@@ -46,8 +46,8 @@ def test_xfail_decorator(testdir):
def test_xfail_at_module(testdir):
p = testdir.makepyfile("""
xfail = 'True'
import py
pytestmark = py.test.mark.xfail('True')
def test_intentional_xfail():
assert 0
""")
@@ -76,8 +76,9 @@ def test_skipif_decorator(testdir):
def test_skipif_class(testdir):
p = testdir.makepyfile("""
import py
class TestClass:
skipif = "True"
pytestmark = py.test.mark.skipif("True")
def test_that(self):
assert 0
def test_though(self):
@@ -88,36 +89,12 @@ def test_skipif_class(testdir):
"*2 skipped*"
])
def test_getexpression(testdir):
from _py.test.plugin.pytest_skipping import getexpression
l = testdir.getitems("""
import py
mod = 5
class TestClass:
cls = 4
@py.test.mark.func(3)
def test_func(self):
pass
@py.test.mark.just
def test_other(self):
pass
""")
item, item2 = l
assert getexpression(item, 'xyz') is None
assert getexpression(item, 'func') == 3
assert getexpression(item, 'cls') == 4
assert getexpression(item, 'mod') == 5
assert getexpression(item2, 'just')
item2.parent = None
assert not getexpression(item2, 'nada')
def test_evalexpression_cls_config_example(testdir):
from _py.test.plugin.pytest_skipping import evalexpression
item, = testdir.getitems("""
import py
class TestClass:
skipif = "config._hackxyz"
pytestmark = py.test.mark.skipif("config._hackxyz")
def test_func(self):
pass
""")