Merge pull request #4057 from jeffreyrack/4051-improve-error-messaging
Improve error messaging when invalid syntax is passed to the -m option
This commit is contained in:
commit
5d2d64c190
|
@ -0,0 +1 @@
|
||||||
|
Imrpove Error messaging when Invalid Python Syntax is passed through the ``-m`` option to limit what marks to run against.
|
|
@ -66,7 +66,10 @@ python_keywords_allowed_list = ["or", "and", "not"]
|
||||||
|
|
||||||
def matchmark(colitem, markexpr):
|
def matchmark(colitem, markexpr):
|
||||||
"""Tries to match on any marker names, attached to the given colitem."""
|
"""Tries to match on any marker names, attached to the given colitem."""
|
||||||
return eval(markexpr, {}, MarkMapping.from_item(colitem))
|
try:
|
||||||
|
return eval(markexpr, {}, MarkMapping.from_item(colitem))
|
||||||
|
except SyntaxError as e:
|
||||||
|
raise SyntaxError(str(e) + "\nMarker expression must be valid Python!")
|
||||||
|
|
||||||
|
|
||||||
def matchkeyword(colitem, keywordexpr):
|
def matchkeyword(colitem, keywordexpr):
|
||||||
|
|
|
@ -799,6 +799,18 @@ class TestFunctional(object):
|
||||||
deselected_tests = dlist[0].items
|
deselected_tests = dlist[0].items
|
||||||
assert len(deselected_tests) == 2
|
assert len(deselected_tests) == 2
|
||||||
|
|
||||||
|
def test_invalid_m_option(self, testdir):
|
||||||
|
testdir.makepyfile(
|
||||||
|
"""
|
||||||
|
def test_a():
|
||||||
|
pass
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
result = testdir.runpytest("-m bogus/")
|
||||||
|
result.stdout.fnmatch_lines(
|
||||||
|
["INTERNALERROR> Marker expression must be valid Python!"]
|
||||||
|
)
|
||||||
|
|
||||||
def test_keywords_at_node_level(self, testdir):
|
def test_keywords_at_node_level(self, testdir):
|
||||||
testdir.makepyfile(
|
testdir.makepyfile(
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue