Skip to content

Commit 88f84f5

Browse files
add tests for pytest-dev#3441
1 parent a5cf55d commit 88f84f5

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

testing/test_mark.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -927,3 +927,35 @@ def test_parameterset_for_parametrize_marks(testdir, mark):
927927
def test_parameterset_for_parametrize_bad_markname(testdir):
928928
with pytest.raises(pytest.UsageError):
929929
test_parameterset_for_parametrize_marks(testdir, 'bad')
930+
931+
932+
def test_mark_expressions_no_smear(testdir):
933+
testdir.makepyfile("""
934+
import pytest
935+
936+
class BaseTests(object):
937+
def test_something(self):
938+
pass
939+
940+
@pytest.mark.FOO
941+
class TestFooClass(BaseTests):
942+
pass
943+
944+
@pytest.mark.BAR
945+
class TestBarClass(BaseTests):
946+
pass
947+
""")
948+
949+
reprec = testdir.inline_run("-m", 'FOO')
950+
passed, skipped, failed = reprec.countoutcomes()
951+
dlist = reprec.getcalls("pytest_deselected")
952+
assert passed == 1
953+
assert skipped == failed == 0
954+
deselected_tests = dlist[0].items
955+
assert len(deselected_tests) == 1
956+
957+
# keywords smear
958+
reprec_keywords = testdir.inline_run("-k", 'FOO')
959+
passed_k, skipped_k, failed_k = reprec_keywords.countoutcomes()
960+
assert passed_k == 2
961+
assert skipped_k == failed_k == 0

0 commit comments

Comments
 (0)