factor out KNOWN_TYPES

(cherry picked from commit 1180aedee727f7e8468fdc5561a87e12865622c6)
This commit is contained in:
Daniel Hahler 2020-01-31 00:02:22 +01:00
parent 1e3bc1814d
commit 7a7c634e33
1 changed files with 18 additions and 9 deletions

View File

@ -33,6 +33,17 @@ from _pytest.reports import TestReport
REPORT_COLLECTING_RESOLUTION = 0.5 REPORT_COLLECTING_RESOLUTION = 0.5
KNOWN_TYPES = (
"failed",
"passed",
"skipped",
"deselected",
"xfailed",
"xpassed",
"warnings",
"error",
)
class MoreQuietAction(argparse.Action): class MoreQuietAction(argparse.Action):
""" """
@ -1028,20 +1039,18 @@ class TerminalReporter:
def _set_main_color(self) -> Tuple[str, List[str]]: def _set_main_color(self) -> Tuple[str, List[str]]:
stats = self.stats stats = self.stats
known_types = (
"failed passed skipped deselected xfailed xpassed warnings error".split() unknown_types: List[str] = []
)
unknown_type_seen = False
for found_type in stats.keys(): for found_type in stats.keys():
if found_type not in known_types:
if found_type: # setup/teardown reports have an empty key, ignore them if found_type: # setup/teardown reports have an empty key, ignore them
known_types.append(found_type) if found_type not in KNOWN_TYPES and found_type not in unknown_types:
unknown_type_seen = True unknown_types.append(found_type)
known_types = list(KNOWN_TYPES) + unknown_types
# main color # main color
if "failed" in stats or "error" in stats: if "failed" in stats or "error" in stats:
main_color = "red" main_color = "red"
elif "warnings" in stats or "xpassed" in stats or unknown_type_seen: elif "warnings" in stats or "xpassed" in stats or unknown_types:
main_color = "yellow" main_color = "yellow"
elif "passed" in stats or not self._is_last_item: elif "passed" in stats or not self._is_last_item:
main_color = "green" main_color = "green"