Merge pull request #3637 from RonnyPfannschmidt/fix-3631
fix #3631 - don't store legacy markinfo when its impossible
This commit is contained in:
commit
2b75a311a7
|
@ -0,0 +1 @@
|
||||||
|
No longer raise AttributeError when legacy marks can't be stored.
|
|
@ -259,7 +259,7 @@ def store_legacy_markinfo(func, mark):
|
||||||
if holder is None:
|
if holder is None:
|
||||||
holder = MarkInfo.for_mark(mark)
|
holder = MarkInfo.for_mark(mark)
|
||||||
setattr(func, mark.name, holder)
|
setattr(func, mark.name, holder)
|
||||||
else:
|
elif isinstance(holder, MarkInfo):
|
||||||
holder.add_mark(mark)
|
holder.add_mark(mark)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,19 @@ class TestMark(object):
|
||||||
mark.hello(f)
|
mark.hello(f)
|
||||||
assert f.hello
|
assert f.hello
|
||||||
|
|
||||||
|
def test_mark_legacy_ignore_fail(self):
|
||||||
|
def add_attribute(func):
|
||||||
|
func.foo = 1
|
||||||
|
return func
|
||||||
|
|
||||||
|
@pytest.mark.foo
|
||||||
|
@add_attribute
|
||||||
|
def test_fun():
|
||||||
|
pass
|
||||||
|
|
||||||
|
assert test_fun.foo == 1
|
||||||
|
assert test_fun.pytestmark
|
||||||
|
|
||||||
@ignore_markinfo
|
@ignore_markinfo
|
||||||
def test_pytest_mark_keywords(self):
|
def test_pytest_mark_keywords(self):
|
||||||
mark = Mark()
|
mark = Mark()
|
||||||
|
|
Loading…
Reference in New Issue