def filter_items(filters): filtered_items = [] deselected_items = [] for item in items: canonical_node_id = str( CustomTestItem(item.nodeid, pytest.config.option.test_suffix)) matched = False for flt in filters: if "::" not in flt and "*" not in flt: flt += "*" # add support for filtering by module name if canonical_node_id.endswith(flt) or fnmatch.fnmatch( tools.escape_for_fnmatch(canonical_node_id), tools.escape_for_fnmatch(flt)): matched = True if matched: filtered_items.append(item) else: deselected_items.append(item) config.hook.pytest_deselected(items=deselected_items) items[:] = filtered_items
def filter_items(filters): filtered_items = [] deselected_items = [] for item in items: canonical_node_id = str(CustomTestItem(item.nodeid, pytest.config.option.test_suffix)) matched = False for flt in filters: if "::" not in flt and "*" not in flt: flt += "*" # add support for filtering by module name if canonical_node_id.endswith(flt) or fnmatch.fnmatch(tools.escape_for_fnmatch(canonical_node_id), tools.escape_for_fnmatch(flt)): matched = True if matched: filtered_items.append(item) else: deselected_items.append(item) config.hook.pytest_deselected(items=deselected_items) items[:] = filtered_items