summaryrefslogtreecommitdiff
path: root/testsuite/driver/perf_notes.py
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/driver/perf_notes.py')
-rw-r--r--testsuite/driver/perf_notes.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/testsuite/driver/perf_notes.py b/testsuite/driver/perf_notes.py
index dcaa3d11ca..6607023622 100644
--- a/testsuite/driver/perf_notes.py
+++ b/testsuite/driver/perf_notes.py
@@ -23,6 +23,7 @@ from collections import namedtuple
from math import ceil, trunc
from testutil import passed, failBecause, testing_metrics
+from term_color import Color, colored
from my_typing import *
@@ -82,6 +83,15 @@ class MetricChange(Enum):
# The metric decreased.
Decrease = 'Decrease'
+ def __str__(self):
+ strings = {
+ MetricChange.NewMetric: colored(Color.BLUE, "new"),
+ MetricChange.NoChange: colored(Color.WHITE, "unchanged"),
+ MetricChange.Increase: colored(Color.RED, "increased"),
+ MetricChange.Decrease: colored(Color.GREEN, "decreased")
+ }
+ return strings[self]
+
AllowedPerfChange = NamedTuple('AllowedPerfChange',
[('direction', MetricChange),
('metrics', List[str]),
@@ -562,7 +572,7 @@ def check_stats_change(actual: PerfStat,
# Print errors and create pass/fail object.
result = passed()
if not change_allowed:
- error = change.value + ' from ' + baseline.perfStat.test_env + \
+ error = str(change) + ' from ' + baseline.perfStat.test_env + \
' baseline @ HEAD~' + str(baseline.commitDepth)
print(actual.metric, error + ':')
result = failBecause('stat ' + error, tag='stat')