config test

pull/28386/head
Shane Smiskol 2 years ago
parent 07574deae9
commit ab53865da9
  1. 2
      selfdrive/car/fw_query_definitions.py
  2. 9
      selfdrive/car/tests/test_fw_fingerprint.py

@ -75,7 +75,7 @@ class FwQueryConfig:
# Ecus added for data collection, not to be fingerprinted on # Ecus added for data collection, not to be fingerprinted on
extra_ecus: List[Tuple[capnp.lib.capnp._EnumModule, int, Optional[int]]] = field(default_factory=list) extra_ecus: List[Tuple[capnp.lib.capnp._EnumModule, int, Optional[int]]] = field(default_factory=list)
# Brand-specific fuzzy fingerprinting options: # Brand-specific fuzzy fingerprinting config:
# The minimum number of version matches to fuzzy fingerprint # The minimum number of version matches to fuzzy fingerprint
fuzzy_min_match_count: int = 2 fuzzy_min_match_count: int = 2
# A function to get uniquely identifiable codes for a version # A function to get uniquely identifiable codes for a version

@ -99,6 +99,15 @@ class TestFwFingerprint(unittest.TestCase):
with self.subTest(): with self.subTest():
self.fail(f"Brands do not implement FW_QUERY_CONFIG: {brand_versions - brand_configs}") self.fail(f"Brands do not implement FW_QUERY_CONFIG: {brand_versions - brand_configs}")
def test_fuzzy_fingerprint_config(self):
for brand, config in FW_QUERY_CONFIGS.items():
with self.subTest(brand=brand):
if config.fuzzy_get_platform_codes is None:
self.assertEqual(config.fuzzy_min_match_count, 2, "Cannot override minimum match count without full config")
self.assertEqual(len(config.fuzzy_ecus), 0, "Cannot specify fuzzy ECUs without full config")
else:
self.assertGreater(len(config.fuzzy_ecus), 0, "Need to specify fuzzy ECUs")
def test_fw_request_ecu_whitelist(self): def test_fw_request_ecu_whitelist(self):
for brand, config in FW_QUERY_CONFIGS.items(): for brand, config in FW_QUERY_CONFIGS.items():
with self.subTest(brand=brand): with self.subTest(brand=brand):

Loading…
Cancel
Save