parent
0dd05023b8
commit
48e6aa9dc7
|
@ -3,6 +3,12 @@
|
||||||
import py, pytest
|
import py, pytest
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
# Provide basestring in python3
|
||||||
|
try:
|
||||||
|
basestring = basestring
|
||||||
|
except NameError:
|
||||||
|
basestring = str
|
||||||
|
|
||||||
def pytest_addoption(parser):
|
def pytest_addoption(parser):
|
||||||
group = parser.getgroup("general")
|
group = parser.getgroup("general")
|
||||||
group.addoption('--runxfail',
|
group.addoption('--runxfail',
|
||||||
|
@ -86,7 +92,7 @@ class MarkEvaluator:
|
||||||
self.result = False
|
self.result = False
|
||||||
for expr in self.holder.args:
|
for expr in self.holder.args:
|
||||||
self.expr = expr
|
self.expr = expr
|
||||||
if isinstance(expr, str):
|
if isinstance(expr, basestring):
|
||||||
result = cached_eval(self.item.config, expr, d)
|
result = cached_eval(self.item.config, expr, d)
|
||||||
else:
|
else:
|
||||||
pytest.fail("expression is not a string")
|
pytest.fail("expression is not a string")
|
||||||
|
|
|
@ -39,6 +39,20 @@ class TestEvaluator:
|
||||||
expl = ev.getexplanation()
|
expl = ev.getexplanation()
|
||||||
assert expl == "condition: hasattr(os, 'sep')"
|
assert expl == "condition: hasattr(os, 'sep')"
|
||||||
|
|
||||||
|
@pytest.mark.skipif('sys.version_info[0] >= 3')
|
||||||
|
def test_marked_one_arg_unicode(self, testdir):
|
||||||
|
item = testdir.getitem("""
|
||||||
|
import pytest
|
||||||
|
@pytest.mark.xyz(u"hasattr(os, 'sep')")
|
||||||
|
def test_func():
|
||||||
|
pass
|
||||||
|
""")
|
||||||
|
ev = MarkEvaluator(item, 'xyz')
|
||||||
|
assert ev
|
||||||
|
assert ev.istrue()
|
||||||
|
expl = ev.getexplanation()
|
||||||
|
assert expl == "condition: hasattr(os, 'sep')"
|
||||||
|
|
||||||
def test_marked_one_arg_with_reason(self, testdir):
|
def test_marked_one_arg_with_reason(self, testdir):
|
||||||
item = testdir.getitem("""
|
item = testdir.getitem("""
|
||||||
import pytest
|
import pytest
|
||||||
|
|
Loading…
Reference in New Issue