|
|
@ -1,7 +1,6 @@ |
|
|
|
#!/usr/bin/env python3 |
|
|
|
#!/usr/bin/env python3 |
|
|
|
import math |
|
|
|
import math |
|
|
|
import unittest |
|
|
|
import unittest |
|
|
|
from hypothesis import given, settings |
|
|
|
|
|
|
|
import importlib |
|
|
|
import importlib |
|
|
|
from parameterized import parameterized |
|
|
|
from parameterized import parameterized |
|
|
|
|
|
|
|
|
|
|
@ -9,14 +8,11 @@ from cereal import car |
|
|
|
from selfdrive.car import gen_empty_fingerprint |
|
|
|
from selfdrive.car import gen_empty_fingerprint |
|
|
|
from selfdrive.car.car_helpers import interfaces |
|
|
|
from selfdrive.car.car_helpers import interfaces |
|
|
|
from selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS, all_known_cars |
|
|
|
from selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS, all_known_cars |
|
|
|
from selfdrive.test.fuzzy_generation import get_random_msg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestCarInterfaces(unittest.TestCase): |
|
|
|
class TestCarInterfaces(unittest.TestCase): |
|
|
|
|
|
|
|
|
|
|
|
@parameterized.expand([(car,) for car in all_known_cars()]) |
|
|
|
@parameterized.expand([(car,) for car in all_known_cars()]) |
|
|
|
@settings(max_examples=5) |
|
|
|
def test_car_interfaces(self, car_name): |
|
|
|
@given(cc_msg=get_random_msg(car.CarControl, real_floats=True)) |
|
|
|
|
|
|
|
def test_car_interfaces(self, car_name, cc_msg): |
|
|
|
|
|
|
|
if car_name in FINGERPRINTS: |
|
|
|
if car_name in FINGERPRINTS: |
|
|
|
fingerprint = FINGERPRINTS[car_name][0] |
|
|
|
fingerprint = FINGERPRINTS[car_name][0] |
|
|
|
else: |
|
|
|
else: |
|
|
@ -60,13 +56,13 @@ class TestCarInterfaces(unittest.TestCase): |
|
|
|
self.assertTrue(len(tune.indi.outerLoopGainV)) |
|
|
|
self.assertTrue(len(tune.indi.outerLoopGainV)) |
|
|
|
|
|
|
|
|
|
|
|
# Run car interface |
|
|
|
# Run car interface |
|
|
|
CC = car.CarControl.new_message(**cc_msg) |
|
|
|
CC = car.CarControl.new_message() |
|
|
|
for _ in range(10): |
|
|
|
for _ in range(10): |
|
|
|
car_interface.update(CC, []) |
|
|
|
car_interface.update(CC, []) |
|
|
|
car_interface.apply(CC, 0) |
|
|
|
car_interface.apply(CC, 0) |
|
|
|
car_interface.apply(CC, 0) |
|
|
|
car_interface.apply(CC, 0) |
|
|
|
|
|
|
|
|
|
|
|
CC = car.CarControl.new_message(**cc_msg) |
|
|
|
CC = car.CarControl.new_message() |
|
|
|
CC.enabled = True |
|
|
|
CC.enabled = True |
|
|
|
for _ in range(10): |
|
|
|
for _ in range(10): |
|
|
|
car_interface.update(CC, []) |
|
|
|
car_interface.update(CC, []) |
|
|
|