Fix case where skip is assigned to as an attribute directly

This commit is contained in:
Michael Aquilina 2015-09-21 15:19:29 +01:00
parent f144666f8b
commit ad0b8e31b8
1 changed files with 6 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import traceback
import py import py
import pytest import pytest
from _pytest.mark import MarkInfo
def pytest_addoption(parser): def pytest_addoption(parser):
group = parser.getgroup("general") group = parser.getgroup("general")
@ -148,12 +149,13 @@ class MarkEvaluator:
@pytest.hookimpl(tryfirst=True) @pytest.hookimpl(tryfirst=True)
def pytest_runtest_setup(item): def pytest_runtest_setup(item):
eval_skipif = MarkEvaluator(item, 'skipif') eval_skipif = MarkEvaluator(item, 'skipif')
eval_skip = MarkEvaluator(item, 'skip')
if eval_skipif.istrue(): if eval_skipif.istrue():
item._evalskip = eval_skipif item._evalskip = eval_skipif
pytest.skip(eval_skipif.getexplanation()) pytest.skip(eval_skipif.getexplanation())
elif eval_skip.istrue(): elif isinstance(item.keywords.get('skip'), MarkInfo):
eval_skip = MarkEvaluator(item, 'skip')
if eval_skip.istrue():
item._evalskip = eval_skip item._evalskip = eval_skip
pytest.skip(eval_skip.getexplanation()) pytest.skip(eval_skip.getexplanation())