alerts: add test for creation delay

old-commit-hash: 45f3662cf0
commatwo_master
Adeeb Shihadeh 3 years ago
parent f4ddf6e9d1
commit 3d72ed6ea1
  1. 38
      selfdrive/controls/tests/test_alerts.py

@ -8,7 +8,7 @@ from PIL import Image, ImageDraw, ImageFont
from cereal import log, car from cereal import log, car
from common.basedir import BASEDIR from common.basedir import BASEDIR
from common.params import Params from common.params import Params
from selfdrive.controls.lib.events import Alert, EVENTS from selfdrive.controls.lib.events import Alert, EVENTS, ET
from selfdrive.controls.lib.alertmanager import set_offroad_alert from selfdrive.controls.lib.alertmanager import set_offroad_alert
AlertSize = log.ControlsState.AlertSize AlertSize = log.ControlsState.AlertSize
@ -74,20 +74,28 @@ class TestAlerts(unittest.TestCase):
self.assertLessEqual(w, max_text_width, msg=msg) self.assertLessEqual(w, max_text_width, msg=msg)
def test_alert_sanity_check(self): def test_alert_sanity_check(self):
for a in ALERTS: for event_types in EVENTS.values():
if a.alert_size == AlertSize.none: for event_type, a in event_types.items():
self.assertEqual(len(a.alert_text_1), 0) # TODO: add callback alerts
self.assertEqual(len(a.alert_text_2), 0) if not isinstance(a, Alert):
elif a.alert_size == AlertSize.small: continue
self.assertGreater(len(a.alert_text_1), 0)
self.assertEqual(len(a.alert_text_2), 0) if a.alert_size == AlertSize.none:
elif a.alert_size == AlertSize.mid: self.assertEqual(len(a.alert_text_1), 0)
self.assertGreater(len(a.alert_text_1), 0) self.assertEqual(len(a.alert_text_2), 0)
self.assertGreater(len(a.alert_text_2), 0) elif a.alert_size == AlertSize.small:
else: self.assertGreater(len(a.alert_text_1), 0)
self.assertGreater(len(a.alert_text_1), 0) self.assertEqual(len(a.alert_text_2), 0)
elif a.alert_size == AlertSize.mid:
self.assertGreaterEqual(a.duration, 0.) self.assertGreater(len(a.alert_text_1), 0)
self.assertGreater(len(a.alert_text_2), 0)
else:
self.assertGreater(len(a.alert_text_1), 0)
self.assertGreaterEqual(a.duration, 0.)
if event_type not in (ET.WARNING, ET.PERMANENT, ET.PRE_ENABLE):
self.assertEqual(a.creation_delay, 0.)
def test_offroad_alerts(self): def test_offroad_alerts(self):
params = Params() params = Params()

Loading…
Cancel
Save