33 lines
834 B
Python
33 lines
834 B
Python
import pytest
|
|
|
|
from _pytest import nodes
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"baseid, nodeid, expected",
|
|
(
|
|
("", "", True),
|
|
("", "foo", True),
|
|
("", "foo/bar", True),
|
|
("", "foo/bar::TestBaz::()", True),
|
|
("foo", "food", False),
|
|
("foo/bar::TestBaz::()", "foo/bar", False),
|
|
("foo/bar::TestBaz::()", "foo/bar::TestBop::()", False),
|
|
("foo/bar", "foo/bar::TestBop::()", True),
|
|
),
|
|
)
|
|
def test_ischildnode(baseid, nodeid, expected):
|
|
result = nodes.ischildnode(baseid, nodeid)
|
|
assert result is expected
|
|
|
|
|
|
def test_std_warn_not_pytestwarning(testdir):
|
|
items = testdir.getitems(
|
|
"""
|
|
def test():
|
|
pass
|
|
"""
|
|
)
|
|
with pytest.raises(ValueError, match=".*instance of PytestWarning.*"):
|
|
items[0].warn(UserWarning("some warning"))
|