test: use new `MarkMatcher.from_markers` method & register test markers
This commit is contained in:
parent
6dd8ad60a4
commit
3921d94316
|
@ -358,6 +358,9 @@ markers = [
|
||||||
"foo",
|
"foo",
|
||||||
"bar",
|
"bar",
|
||||||
"baz",
|
"baz",
|
||||||
|
"number_mark",
|
||||||
|
"builtin_matchers_mark",
|
||||||
|
"str_mark",
|
||||||
# conftest.py reorders tests moving slow ones to the end of the list
|
# conftest.py reorders tests moving slow ones to the end of the list
|
||||||
"slow",
|
"slow",
|
||||||
# experimental mark for all tests using pexpect
|
# experimental mark for all tests using pexpect
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import collections
|
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
from typing import cast
|
from typing import cast
|
||||||
|
|
||||||
from _pytest.mark import MarkMatcher
|
from _pytest.mark import MarkMatcher
|
||||||
from _pytest.mark import structures
|
|
||||||
from _pytest.mark.expression import Expression
|
from _pytest.mark.expression import Expression
|
||||||
from _pytest.mark.expression import MatcherCall
|
from _pytest.mark.expression import MatcherCall
|
||||||
from _pytest.mark.expression import ParseError
|
from _pytest.mark.expression import ParseError
|
||||||
|
@ -241,33 +239,15 @@ def test_invalid_kwarg_name_or_value( # TODO: move to `test_syntax_errors` ?
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def mark_matcher() -> MarkMatcher:
|
def mark_matcher() -> MarkMatcher:
|
||||||
markers = []
|
markers = [
|
||||||
mark_name_mapping = collections.defaultdict(list)
|
pytest.mark.number_mark(a=1, b=2, c=3, d=999_999).mark,
|
||||||
|
pytest.mark.builtin_matchers_mark(x=True, y=False, z=None).mark,
|
||||||
|
pytest.mark.str_mark(
|
||||||
|
m="M", space="with space", empty="", aaאבגדcc="aaאבגדcc", אבגד="אבגד"
|
||||||
|
).mark,
|
||||||
|
]
|
||||||
|
|
||||||
def create_marker(name: str, kwargs: dict[str, object]) -> structures.Mark:
|
return MarkMatcher.from_markers(markers)
|
||||||
return structures.Mark(name=name, args=tuple(), kwargs=kwargs, _ispytest=True)
|
|
||||||
|
|
||||||
markers.append(create_marker("number_mark", {"a": 1, "b": 2, "c": 3, "d": 999_999}))
|
|
||||||
markers.append(
|
|
||||||
create_marker("builtin_matchers_mark", {"x": True, "y": False, "z": None})
|
|
||||||
)
|
|
||||||
markers.append(
|
|
||||||
create_marker(
|
|
||||||
"str_mark",
|
|
||||||
{
|
|
||||||
"m": "M",
|
|
||||||
"space": "with space",
|
|
||||||
"aaאבגדcc": "aaאבגדcc",
|
|
||||||
"אבגד": "אבגד",
|
|
||||||
"empty": "",
|
|
||||||
},
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
for marker in markers:
|
|
||||||
mark_name_mapping[marker.name].append(marker)
|
|
||||||
|
|
||||||
return MarkMatcher(mark_name_mapping)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|
Loading…
Reference in New Issue