proper solution
This commit is contained in:
parent
0c1557e79a
commit
feeddb9882
|
@ -302,7 +302,7 @@ def fillfixtures(function):
|
||||||
|
|
||||||
|
|
||||||
def get_direct_param_fixture_func(request):
|
def get_direct_param_fixture_func(request):
|
||||||
return request.param
|
return request.param if hasattr(request, "param") else None
|
||||||
|
|
||||||
|
|
||||||
@attr.s(slots=True)
|
@attr.s(slots=True)
|
||||||
|
|
|
@ -37,9 +37,6 @@ def get_empty_parameterset_mark(config, argnames, func):
|
||||||
if requested_mark in ("", None, "skip"):
|
if requested_mark in ("", None, "skip"):
|
||||||
mark = MARK_GEN.skip
|
mark = MARK_GEN.skip
|
||||||
elif requested_mark == "xfail":
|
elif requested_mark == "xfail":
|
||||||
if config.getoption("runxfail", default=False):
|
|
||||||
mark = MARK_GEN.skip
|
|
||||||
else:
|
|
||||||
mark = MARK_GEN.xfail(run=False)
|
mark = MARK_GEN.xfail(run=False)
|
||||||
elif requested_mark == "fail_at_collect":
|
elif requested_mark == "fail_at_collect":
|
||||||
f_name = func.__name__
|
f_name = func.__name__
|
||||||
|
|
|
@ -885,19 +885,15 @@ class TestMarkDecorator:
|
||||||
assert md.kwargs == {"three": 3}
|
assert md.kwargs == {"three": 3}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize("mark", [None, "", "skip", "xfail"])
|
||||||
"mark, addopts",
|
def test_parameterset_for_parametrize_marks(testdir, mark):
|
||||||
[(None, ""), ("", ""), ("skip", ""), ("xfail", ""), ("xfail", "--runxfail")],
|
|
||||||
)
|
|
||||||
def test_parameterset_for_parametrize_marks(testdir, mark, addopts):
|
|
||||||
if mark is not None:
|
if mark is not None:
|
||||||
testdir.makeini(
|
testdir.makeini(
|
||||||
"""
|
"""
|
||||||
[pytest]
|
[pytest]
|
||||||
{}={}
|
{}={}
|
||||||
addopts={}
|
|
||||||
""".format(
|
""".format(
|
||||||
EMPTY_PARAMETERSET_OPTION, mark, addopts
|
EMPTY_PARAMETERSET_OPTION, mark
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -906,7 +902,7 @@ def test_parameterset_for_parametrize_marks(testdir, mark, addopts):
|
||||||
|
|
||||||
pytest_configure(config)
|
pytest_configure(config)
|
||||||
result_mark = get_empty_parameterset_mark(config, ["a"], all)
|
result_mark = get_empty_parameterset_mark(config, ["a"], all)
|
||||||
if mark in (None, "") or (mark == "xfail" and addopts == "--runxfail"):
|
if mark in (None, ""):
|
||||||
# normalize to the requested name
|
# normalize to the requested name
|
||||||
mark = "skip"
|
mark = "skip"
|
||||||
assert result_mark.name == mark
|
assert result_mark.name == mark
|
||||||
|
@ -959,7 +955,7 @@ def test_parameterset_for_fail_at_collect(testdir):
|
||||||
|
|
||||||
def test_parameterset_for_parametrize_bad_markname(testdir):
|
def test_parameterset_for_parametrize_bad_markname(testdir):
|
||||||
with pytest.raises(pytest.UsageError):
|
with pytest.raises(pytest.UsageError):
|
||||||
test_parameterset_for_parametrize_marks(testdir, "bad", False)
|
test_parameterset_for_parametrize_marks(testdir, "bad")
|
||||||
|
|
||||||
|
|
||||||
def test_mark_expressions_no_smear(testdir):
|
def test_mark_expressions_no_smear(testdir):
|
||||||
|
|
Loading…
Reference in New Issue