|
4 | 4 | import allure_commons |
5 | 5 | import os |
6 | 6 |
|
7 | | -from allure_commons.types import LabelType |
| 7 | +from allure_commons.types import LabelType, Severity |
8 | 8 | from allure_commons.logger import AllureFileLogger |
9 | 9 | from allure_commons.utils import get_testplan |
10 | 10 |
|
@@ -44,7 +44,7 @@ def label_type(type_name, legal_values=set()): |
44 | 44 | def a_label_type(string): |
45 | 45 | atoms = set(string.split(',')) |
46 | 46 | if type_name is LabelType.SEVERITY: |
47 | | - if not atoms < legal_values: |
| 47 | + if not atoms <= legal_values: |
48 | 48 | raise argparse.ArgumentTypeError('Illegal {} values: {}, only [{}] are allowed'.format( |
49 | 49 | type_name, |
50 | 50 | ', '.join(atoms - legal_values), |
@@ -175,16 +175,25 @@ def pytest_configure(config): |
175 | 175 |
|
176 | 176 |
|
177 | 177 | def select_by_labels(items, config): |
178 | | - arg_labels = set().union(config.option.allure_epics, |
179 | | - config.option.allure_features, |
180 | | - config.option.allure_stories, |
181 | | - config.option.allure_ids, |
182 | | - config.option.allure_severities, |
183 | | - *config.option.allure_labels) |
| 178 | + arg_labels = set().union( |
| 179 | + config.option.allure_epics, |
| 180 | + config.option.allure_features, |
| 181 | + config.option.allure_stories, |
| 182 | + config.option.allure_ids, |
| 183 | + config.option.allure_severities, |
| 184 | + *config.option.allure_labels |
| 185 | + ) |
184 | 186 | if arg_labels: |
185 | 187 | selected, deselected = [], [] |
186 | 188 | for item in items: |
187 | | - selected.append(item) if arg_labels & set(allure_labels(item)) else deselected.append(item) |
| 189 | + test_labels = set(allure_labels(item)) |
| 190 | + test_severity = allure_label(item, LabelType.SEVERITY) |
| 191 | + if not test_severity: |
| 192 | + test_labels.add((LabelType.SEVERITY, Severity.NORMAL)) |
| 193 | + if arg_labels & test_labels: |
| 194 | + selected.append(item) |
| 195 | + else: |
| 196 | + deselected.append(item) |
188 | 197 | return selected, deselected |
189 | 198 | else: |
190 | 199 | return items, [] |
|
0 commit comments