parent
f02b84d528
commit
4656bc4c97
|
@ -13,6 +13,8 @@ Changes between 1.X and 1.1.1
|
|||
|
||||
- allow pytest_generate_tests to be defined in classes as well
|
||||
|
||||
- deprecate usage of 'disabled' attribute in favour of pytestmark
|
||||
|
||||
- collection/item node specific runtest/collect hooks are only called exactly
|
||||
on matching conftest.py files, i.e. ones which are exactly below
|
||||
the filesystem path of an item
|
||||
|
|
|
@ -167,6 +167,8 @@ class Module(py.test.collect.File, PyCollectorMixin):
|
|||
|
||||
def setup(self):
|
||||
if getattr(self.obj, 'disabled', 0):
|
||||
py.log._apiwarn(">1.1.1", "%r uses 'disabled' which is deprecated, "
|
||||
"use pytestmark=..., see pytest_skipping plugin" % (self.obj,))
|
||||
py.test.skip("%r is disabled" %(self.obj,))
|
||||
if hasattr(self.obj, 'setup_module'):
|
||||
#XXX: nose compat hack, move to nose plugin
|
||||
|
@ -197,6 +199,8 @@ class Class(PyCollectorMixin, py.test.collect.Collector):
|
|||
|
||||
def setup(self):
|
||||
if getattr(self.obj, 'disabled', 0):
|
||||
py.log._apiwarn(">1.1.1", "%r uses 'disabled' which is deprecated, "
|
||||
"use pytestmark=..., see pytest_skipping plugin" % (self.obj,))
|
||||
py.test.skip("%r is disabled" %(self.obj,))
|
||||
setup_class = getattr(self.obj, 'setup_class', None)
|
||||
if setup_class is not None:
|
||||
|
|
|
@ -72,6 +72,7 @@ def deprecated_call(func, *args, **kwargs):
|
|||
warningmodule.warn = warn
|
||||
if not l:
|
||||
#print warningmodule
|
||||
__tracebackhide__ = True
|
||||
raise AssertionError("%r did not produce DeprecationWarning" %(func,))
|
||||
return ret
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
import py
|
||||
from py.impl.test.outcome import Skipped
|
||||
|
||||
class TestCollectDeprecated:
|
||||
|
||||
|
@ -167,3 +168,45 @@ class TestCollectDeprecated:
|
|||
config = testdir.parseconfig(testme)
|
||||
col = config.getfsnode(testme)
|
||||
assert col.collect() == []
|
||||
|
||||
|
||||
class TestDisabled:
|
||||
def test_disabled_module(self, recwarn, testdir):
|
||||
modcol = testdir.getmodulecol("""
|
||||
disabled = True
|
||||
def setup_module(mod):
|
||||
raise ValueError
|
||||
def test_method():
|
||||
pass
|
||||
""")
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
recwarn.clear()
|
||||
py.test.raises(Skipped, "modcol.setup()")
|
||||
recwarn.pop(DeprecationWarning)
|
||||
|
||||
def test_disabled_class(self, recwarn, testdir):
|
||||
modcol = testdir.getmodulecol("""
|
||||
class TestClass:
|
||||
disabled = True
|
||||
def test_method(self):
|
||||
pass
|
||||
""")
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
modcol = l[0]
|
||||
assert isinstance(modcol, py.test.collect.Class)
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
recwarn.clear()
|
||||
py.test.raises(Skipped, "modcol.setup()")
|
||||
recwarn.pop(DeprecationWarning)
|
||||
|
||||
def test_disabled_class_functional(self, testdir):
|
||||
reprec = testdir.inline_runsource("""
|
||||
class TestSimpleClassSetup:
|
||||
disabled = True
|
||||
def test_classlevel(self): pass
|
||||
def test_classlevel2(self): pass
|
||||
""")
|
||||
reprec.assertoutcome(skipped=2)
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
import py
|
||||
|
||||
from py.impl.test.outcome import Skipped
|
||||
|
||||
class TestModule:
|
||||
def test_module_file_not_found(self, testdir):
|
||||
tmpdir = testdir.tmpdir
|
||||
|
@ -51,43 +49,6 @@ class TestClass:
|
|||
l = modcol.collect()
|
||||
assert len(l) == 0
|
||||
|
||||
class TestDisabled:
|
||||
def test_disabled_module(self, testdir):
|
||||
modcol = testdir.getmodulecol("""
|
||||
disabled = True
|
||||
def setup_module(mod):
|
||||
raise ValueError
|
||||
def test_method():
|
||||
pass
|
||||
""")
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
py.test.raises(Skipped, "modcol.setup()")
|
||||
|
||||
def test_disabled_class(self, testdir):
|
||||
modcol = testdir.getmodulecol("""
|
||||
class TestClass:
|
||||
disabled = True
|
||||
def test_method(self):
|
||||
pass
|
||||
""")
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
modcol = l[0]
|
||||
assert isinstance(modcol, py.test.collect.Class)
|
||||
l = modcol.collect()
|
||||
assert len(l) == 1
|
||||
py.test.raises(Skipped, "modcol.setup()")
|
||||
|
||||
def test_disabled_class_functional(self, testdir):
|
||||
reprec = testdir.inline_runsource("""
|
||||
class TestSimpleClassSetup:
|
||||
disabled = True
|
||||
def test_classlevel(self): pass
|
||||
def test_classlevel2(self): pass
|
||||
""")
|
||||
reprec.assertoutcome(skipped=2)
|
||||
|
||||
if py.std.sys.version_info > (3, 0):
|
||||
_func_name_attr = "__name__"
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue