|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | | -import collections |
4 | 3 | from typing import Callable |
5 | 4 | from typing import cast |
6 | 5 |
|
7 | 6 | from _pytest.mark import MarkMatcher |
8 | | -from _pytest.mark import structures |
9 | 7 | from _pytest.mark.expression import Expression |
10 | 8 | from _pytest.mark.expression import MatcherCall |
11 | 9 | from _pytest.mark.expression import ParseError |
@@ -241,33 +239,15 @@ def test_invalid_kwarg_name_or_value( # TODO: move to `test_syntax_errors` ? |
241 | 239 |
|
242 | 240 | @pytest.fixture(scope="session") |
243 | 241 | def mark_matcher() -> MarkMatcher: |
244 | | - markers = [] |
245 | | - mark_name_mapping = collections.defaultdict(list) |
246 | | - |
247 | | - def create_marker(name: str, kwargs: dict[str, object]) -> structures.Mark: |
248 | | - return structures.Mark(name=name, args=tuple(), kwargs=kwargs, _ispytest=True) |
249 | | - |
250 | | - markers.append(create_marker("number_mark", {"a": 1, "b": 2, "c": 3, "d": 999_999})) |
251 | | - markers.append( |
252 | | - create_marker("builtin_matchers_mark", {"x": True, "y": False, "z": None}) |
253 | | - ) |
254 | | - markers.append( |
255 | | - create_marker( |
256 | | - "str_mark", |
257 | | - { |
258 | | - "m": "M", |
259 | | - "space": "with space", |
260 | | - "aaאבגדcc": "aaאבגדcc", |
261 | | - "אבגד": "אבגד", |
262 | | - "empty": "", |
263 | | - }, |
264 | | - ) |
265 | | - ) |
266 | | - |
267 | | - for marker in markers: |
268 | | - mark_name_mapping[marker.name].append(marker) |
269 | | - |
270 | | - return MarkMatcher(mark_name_mapping) |
| 242 | + markers = [ |
| 243 | + pytest.mark.number_mark(a=1, b=2, c=3, d=999_999).mark, |
| 244 | + pytest.mark.builtin_matchers_mark(x=True, y=False, z=None).mark, |
| 245 | + pytest.mark.str_mark( |
| 246 | + m="M", space="with space", empty="", aaאבגדcc="aaאבגדcc", אבגד="אבגד" |
| 247 | + ).mark, |
| 248 | + ] |
| 249 | + |
| 250 | + return MarkMatcher.from_markers(markers) |
271 | 251 |
|
272 | 252 |
|
273 | 253 | @pytest.mark.parametrize( |
|
0 commit comments