Skip to content

Commit cb05ffa

Browse files
authored
chore: improve the temperature cutoff levels (#13)
Signed-off-by: Jaime Silvela <[email protected]>
1 parent 66591bc commit cb05ffa

File tree

2 files changed

+41
-16
lines changed

2 files changed

+41
-16
lines changed

summarize_test_results.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -589,20 +589,29 @@ def compute_semaphore(success_percent, embed=True):
589589
If set to `embed`, an emoji will be used. Else, a textual representation
590590
of a Slack emoji is used.
591591
"""
592-
if embed:
593-
if success_percent >= 95:
594-
return "🟢"
595-
elif success_percent >= 60:
596-
return "🟡"
597-
else:
598-
return "🔴"
592+
levels = {
593+
"good": {
594+
"emoji": "🟢",
595+
"text": ":large_green_circle:",
596+
},
597+
"average": {
598+
"emoji": "🟡",
599+
"text": ":large_yellow_circle:",
600+
},
601+
"bad": {
602+
"emoji": "🔴",
603+
"text": ":red_circle:",
604+
},
605+
}
606+
form = "emoji"
607+
if not embed:
608+
form = "text"
609+
if success_percent >= 99:
610+
return levels["good"][form]
611+
elif success_percent >= 95:
612+
return levels["average"][form]
599613
else:
600-
if success_percent >= 95:
601-
return ":large_green_circle:"
602-
elif success_percent >= 60:
603-
return ":large_yellow_circle:"
604-
else:
605-
return ":red_circle:"
614+
return levels["bad"][form]
606615

607616

608617
def compute_thermometer_on_metric(summary, metric, embed=True):

test_summary.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,35 @@ def test_compute_summary(self):
6969

7070
def test_compute_thermometer(self):
7171
self.maxDiff = None
72-
thermometer = summarize_test_results.compute_thermometer_on_metric(self.summary, "by_platform")
72+
thermometer = summarize_test_results.compute_thermometer_on_metric(
73+
self.summary, "by_platform"
74+
)
7375

7476
self.assertEqual(
7577
thermometer,
7678
"Platforms thermometer:\n\n"
77-
"- 🟡 - local: 66.7% success.\t(1 out of 3 tests failed)\n\n"
79+
"- 🔴 - local: 66.7% success.\t(1 out of 3 tests failed)\n\n",
80+
)
81+
82+
thermometerPlaintext = summarize_test_results.compute_thermometer_on_metric(
83+
self.summary, "by_platform", False
84+
)
85+
86+
self.assertEqual(
87+
thermometerPlaintext,
88+
"Platforms thermometer:\n\n"
89+
"- :red_circle: - local: 66.7% success.\t(1 out of 3 tests failed)\n\n",
7890
)
7991

8092
def test_compute_systematic_failures(self):
8193
self.maxDiff = None
8294

8395
for metric in ["by_test", "by_k8s", "by_postgres", "by_platform"]:
84-
has_alerts, out = summarize_test_results.compute_systematic_failures_on_metric(self.summary, metric)
96+
has_alerts, out = (
97+
summarize_test_results.compute_systematic_failures_on_metric(
98+
self.summary, metric
99+
)
100+
)
85101
self.assertEqual(has_alerts, False)
86102
self.assertEqual(out, "")
87103

0 commit comments

Comments
 (0)