version: sunnypilot v2026.002.000 (staging) date: 2026-07-21T07:44:02 master commit: 2c334ede443d7391d27575af8c854a095ba702a8
44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
from opendbc.car.car_helpers import interfaces
|
|
from opendbc.car.honda.values import CAR as HONDA
|
|
from opendbc.car.hyundai.values import CAR as HYUNDAI
|
|
from opendbc.car.nissan.values import CAR as NISSAN
|
|
from opendbc.car.toyota.values import CAR as TOYOTA
|
|
from opendbc.car.tesla.values import CAR as TESLA
|
|
from openpilot.common.parameterized import parameterized
|
|
from openpilot.common.params import Params
|
|
from openpilot.sunnypilot.selfdrive.car import interfaces as sunnypilot_interfaces
|
|
|
|
|
|
FINGERPRINT_EXACT_MATCH = [HONDA.HONDA_CIVIC_BOSCH, TOYOTA.TOYOTA_RAV4_TSS2_2022, HYUNDAI.HYUNDAI_IONIQ_5]
|
|
FINGERPRINT_FUZZY_MATCH = [HONDA.HONDA_CIVIC_BOSCH_DIESEL, HYUNDAI.GENESIS_G70_2020, HYUNDAI.HYUNDAI_IONIQ_6]
|
|
FINGERPRINT_ANGLE_NO_MATCH = [TOYOTA.TOYOTA_RAV4_TSS2_2023, NISSAN.NISSAN_LEAF, TESLA.TESLA_MODEL_3]
|
|
|
|
|
|
class TestNNLCFingerprintBase:
|
|
|
|
@staticmethod
|
|
def _setup_platform(car_name):
|
|
CarInterface = interfaces[car_name]
|
|
CP = CarInterface.get_non_essential_params(car_name)
|
|
CP_SP = CarInterface.get_non_essential_params_sp(CP, car_name)
|
|
CI = CarInterface(CP, CP_SP)
|
|
|
|
sunnypilot_interfaces.setup_interfaces(CI, Params())
|
|
|
|
return CI
|
|
|
|
@parameterized.expand(FINGERPRINT_EXACT_MATCH)
|
|
def test_exact_fingerprint(self, car_name):
|
|
CI = self._setup_platform(car_name)
|
|
assert CI.CP_SP.neuralNetworkLateralControl.model.name != "MOCK" and not CI.CP_SP.neuralNetworkLateralControl.fuzzyFingerprint
|
|
|
|
@parameterized.expand(FINGERPRINT_FUZZY_MATCH)
|
|
def test_fuzzy_fingerprint(self, car_name):
|
|
CI = self._setup_platform(car_name)
|
|
assert CI.CP_SP.neuralNetworkLateralControl.model.name != "MOCK" and CI.CP_SP.neuralNetworkLateralControl.fuzzyFingerprint
|
|
|
|
@parameterized.expand(FINGERPRINT_ANGLE_NO_MATCH)
|
|
def test_no_fingerprint(self, car_name):
|
|
CI = self._setup_platform(car_name)
|
|
assert CI.CP_SP.neuralNetworkLateralControl.model.name == "MOCK"
|