openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

#!/usr/bin/env python3
import unittest
import importlib
from selfdrive.car.fingerprints import all_known_cars
from selfdrive.car.car_helpers import interfaces
from selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS
from cereal import car
class TestCarInterfaces(unittest.TestCase):
def test_car_interfaces(self):
all_cars = all_known_cars()
for car_name in all_cars:
fingerprint = FINGERPRINTS[car_name][0]
CarInterface, CarController, CarState = interfaces[car_name]
fingerprints = {
0: fingerprint,
1: fingerprint,
2: fingerprint,
}
car_fw = []
for has_relay in [True, False]:
car_params = CarInterface.get_params(car_name, fingerprints, has_relay, car_fw)
5 years ago
car_interface = CarInterface(car_params, CarController, CarState)
assert car_params
assert car_interface
# Run car interface once
CC = car.CarControl.new_message()
car_interface.update(CC, [])
car_interface.apply(CC)
CC.enabled = True
car_interface.apply(CC)
# Test radar interface
RadarInterface = importlib.import_module('selfdrive.car.%s.radar_interface' % car_params.carName).RadarInterface
radar_interface = RadarInterface(car_params)
assert radar_interface
# Run radar interface once
radar_interface.update([])
if hasattr(radar_interface, '_update') and hasattr(radar_interface, 'trigger_msg'):
radar_interface._update([radar_interface.trigger_msg])
if __name__ == "__main__":
unittest.main()