test for date parsing

pull/26939/head
Shane Smiskol 2 years ago
parent cc591c47f2
commit f66c79a896
  1. 14
      selfdrive/car/hyundai/tests/test_hyundai.py

@ -3,7 +3,7 @@ from collections import defaultdict
import unittest import unittest
from cereal import car from cereal import car
from selfdrive.car.hyundai.values import CAR, CANFD_CAR, FW_QUERY_CONFIG, FW_VERSIONS, CAN_GEARS, LEGACY_SAFETY_MODE_CAR, CHECKSUM, CAMERA_SCC_CAR from selfdrive.car.hyundai.values import CAR, CANFD_CAR, FW_QUERY_CONFIG, FW_VERSIONS, CAN_GEARS, LEGACY_SAFETY_MODE_CAR, CHECKSUM, CAMERA_SCC_CAR, PLATFORM_CODE_PATTERN
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()}
@ -34,6 +34,18 @@ class TestHyundaiFingerprint(unittest.TestCase):
raise unittest.SkipTest raise unittest.SkipTest
self.assertIn(fuzzy_ecu, [e[0] for e in ecus]) self.assertIn(fuzzy_ecu, [e[0] for e in ecus])
def test_fws_for_platform_codes(self):
# Tests platform code behavior in the FW versions
for car_model, ecus in FW_VERSIONS.items():
with self.subTest(car_model=car_model):
for ecu, fws in ecus.items():
if ecu[0] in FW_QUERY_CONFIG.fuzzy_ecus:
# some newer CAN FD cars have date codes in a different format we don't yet parse,
# for now assert date format is consistent across the platform
# TODO: use FW_QUERY_CONFIG.fuzzy_get_platform_codes
has_date = {PLATFORM_CODE_PATTERN.search(fw).groups(1) is None for fw in fws}
self.assertEqual(len(has_date), 1)
def test_fuzzy_platform_codes(self): def test_fuzzy_platform_codes(self):
codes = FW_QUERY_CONFIG.fuzzy_get_platform_codes([b'\xf1\x00DH LKAS 1.1 -150210']) codes = FW_QUERY_CONFIG.fuzzy_get_platform_codes([b'\xf1\x00DH LKAS 1.1 -150210'])
self.assertEqual(codes, {b"DH"}) self.assertEqual(codes, {b"DH"})

Loading…
Cancel
Save