(items: list[Item], config: Config)
| 205 | |
| 206 | |
| 207 | def deselect_by_keyword(items: list[Item], config: Config) -> None: |
| 208 | keywordexpr = config.option.keyword.lstrip() |
| 209 | if not keywordexpr: |
| 210 | return |
| 211 | |
| 212 | expr = _parse_expression(keywordexpr, "Wrong expression passed to '-k'") |
| 213 | |
| 214 | remaining = [] |
| 215 | deselected = [] |
| 216 | for colitem in items: |
| 217 | if not expr.evaluate(KeywordMatcher.from_item(colitem)): |
| 218 | deselected.append(colitem) |
| 219 | else: |
| 220 | remaining.append(colitem) |
| 221 | |
| 222 | if deselected: |
| 223 | config.hook.pytest_deselected(items=deselected) |
| 224 | items[:] = remaining |
| 225 | |
| 226 | |
| 227 | @dataclasses.dataclass |
no test coverage detected