From ad0b8e31b8c43d6ca0f2379703c1013982633ab2 Mon Sep 17 00:00:00 2001 From: Michael Aquilina Date: Mon, 21 Sep 2015 15:19:29 +0100 Subject: [PATCH] Fix case where skip is assigned to as an attribute directly --- _pytest/skipping.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/_pytest/skipping.py b/_pytest/skipping.py index 2ecef01dd..2733cac16 100644 --- a/_pytest/skipping.py +++ b/_pytest/skipping.py @@ -5,6 +5,7 @@ import traceback import py import pytest +from _pytest.mark import MarkInfo def pytest_addoption(parser): group = parser.getgroup("general") @@ -148,14 +149,15 @@ class MarkEvaluator: @pytest.hookimpl(tryfirst=True) def pytest_runtest_setup(item): eval_skipif = MarkEvaluator(item, 'skipif') - eval_skip = MarkEvaluator(item, 'skip') if eval_skipif.istrue(): item._evalskip = eval_skipif pytest.skip(eval_skipif.getexplanation()) - elif eval_skip.istrue(): - item._evalskip = eval_skip - pytest.skip(eval_skip.getexplanation()) + elif isinstance(item.keywords.get('skip'), MarkInfo): + eval_skip = MarkEvaluator(item, 'skip') + if eval_skip.istrue(): + item._evalskip = eval_skip + pytest.skip(eval_skip.getexplanation()) item._evalxfail = MarkEvaluator(item, 'xfail') check_xfail_no_run(item)