From fe4e71b3c64c6dd9717ea4f188abef7114cbfce8 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Sat, 26 Mar 2022 00:55:36 -0700 Subject: [PATCH] common function to set up each test fix honda --- tests/safety/common.py | 12 +++++++++++ tests/safety/libpandasafety_py.py | 2 +- tests/safety/test_chrysler.py | 9 +++----- tests/safety/test_gm.py | 8 ++------ tests/safety/test_honda.py | 27 ++++++------------------ tests/safety/test_hyundai.py | 32 ++++++++--------------------- tests/safety/test_mazda.py | 8 ++------ tests/safety/test_nissan.py | 14 ++++--------- tests/safety/test_subaru.py | 8 ++------ tests/safety/test_subaru_legacy.py | 8 ++------ tests/safety/test_tesla.py | 25 +++++++++------------- tests/safety/test_toyota.py | 9 +++----- tests/safety/test_volkswagen_mqb.py | 8 ++------ tests/safety/test_volkswagen_pq.py | 8 ++------ 14 files changed, 60 insertions(+), 118 deletions(-) diff --git a/tests/safety/common.py b/tests/safety/common.py index d2732a778..88fcf0f28 100644 --- a/tests/safety/common.py +++ b/tests/safety/common.py @@ -10,12 +10,14 @@ from panda.tests.safety import libpandasafety_py MAX_WRONG_COUNTERS = 5 + class ALTERNATIVE_EXPERIENCE: DEFAULT = 0 DISABLE_DISENGAGE_ON_GAS = 1 DISABLE_STOCK_AEB = 2 RAISE_LONGITUDINAL_LIMITS_TO_ISO_MAX = 8 + def package_can_msg(msg): addr, _, dat, bus = msg ret = libpandasafety_py.ffi.new('CANPacket_t *') @@ -27,9 +29,18 @@ def package_can_msg(msg): return ret + +def set_up_test(cls, dbc, safety_mode, safety_param): + cls.packer = CANPackerPanda(dbc) + cls.safety = libpandasafety_py.libpandasafety + cls.safety.set_safety_hooks(safety_mode, safety_param) + cls.safety.init_tests_honda() + + def make_msg(bus, addr, length=8): return package_can_msg([addr, 0, b'\x00' * length, bus]) + class CANPackerPanda(CANPacker): def make_can_msg_panda(self, name_or_addr, bus, values, counter=-1, fix_checksum=None): msg = self.make_can_msg(name_or_addr, bus, values, counter=-1) @@ -37,6 +48,7 @@ class CANPackerPanda(CANPacker): msg = fix_checksum(msg) return package_can_msg(msg) + class PandaSafetyTestBase(unittest.TestCase): @classmethod def setUpClass(cls): diff --git a/tests/safety/libpandasafety_py.py b/tests/safety/libpandasafety_py.py index d3296426f..9b22093fa 100644 --- a/tests/safety/libpandasafety_py.py +++ b/tests/safety/libpandasafety_py.py @@ -56,7 +56,7 @@ void set_timer(uint32_t t); int safety_rx_hook(CANPacket_t *to_send); int safety_tx_hook(CANPacket_t *to_push); int safety_fwd_hook(int bus_num, CANPacket_t *to_fwd); -int set_safety_hooks(uint16_t mode, int16_t param); +int set_safety_hooks(uint16_t mode, int16_t param); void safety_tick_current_rx_checks(); bool addr_checks_valid(); diff --git a/tests/safety/test_chrysler.py b/tests/safety/test_chrysler.py index cabf62140..150622e6a 100755 --- a/tests/safety/test_chrysler.py +++ b/tests/safety/test_chrysler.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 import unittest from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test + class TestChryslerSafety(common.PandaSafetyTest, common.TorqueSteeringSafetyTest): TX_MSGS = [[571, 0], [658, 0], [678, 0]] @@ -26,10 +26,7 @@ class TestChryslerSafety(common.PandaSafetyTest, common.TorqueSteeringSafetyTest cnt_brake = 0 def setUp(self): - self.packer = CANPackerPanda("chrysler_pacifica_2017_hybrid") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_CHRYSLER, 0) - self.safety.init_tests() + set_up_test(self, "chrysler_pacifica_2017_hybrid", Panda.SAFETY_CHRYSLER, 0) def _button_msg(self, cancel): values = {"ACC_CANCEL": cancel} diff --git a/tests/safety/test_gm.py b/tests/safety/test_gm.py index 11880f733..1d9277c26 100755 --- a/tests/safety/test_gm.py +++ b/tests/safety/test_gm.py @@ -3,9 +3,8 @@ import unittest from typing import Dict, List import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, ALTERNATIVE_EXPERIENCE +from panda.tests.safety.common import CANPackerPanda, ALTERNATIVE_EXPERIENCE, set_up_test MAX_RATE_UP = 7 MAX_RATE_DOWN = 17 @@ -38,11 +37,8 @@ class TestGmSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP: Dict[int, int] = {} def setUp(self): - self.packer = CANPackerPanda("gm_global_a_powertrain_generated") + set_up_test(self, "gm_global_a_powertrain_generated", Panda.SAFETY_GM, 0) self.packer_chassis = CANPackerPanda("gm_global_a_chassis") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_GM, 0) - self.safety.init_tests() # override these tests from PandaSafetyTest, GM uses button enable def test_disable_control_allowed_from_cruise(self): diff --git a/tests/safety/test_honda.py b/tests/safety/test_honda.py index 4b04a414f..f56e97cd7 100755 --- a/tests/safety/test_honda.py +++ b/tests/safety/test_honda.py @@ -4,9 +4,8 @@ import numpy as np from typing import Optional from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, make_msg, MAX_WRONG_COUNTERS, ALTERNATIVE_EXPERIENCE +from panda.tests.safety.common import make_msg, set_up_test, MAX_WRONG_COUNTERS, ALTERNATIVE_EXPERIENCE class Btn: NONE = 0 @@ -295,9 +294,7 @@ class TestHondaNidecSafetyBase(HondaBase): raise unittest.SkipTest def setUp(self): - self.packer = CANPackerPanda("honda_civic_touring_2016_can_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HONDA_NIDEC, 0) + set_up_test(self, "honda_civic_touring_2016_can_generated", Panda.SAFETY_HONDA_NIDEC, 0) self.safety.init_tests_honda() # Honda gas gains are the different @@ -399,9 +396,7 @@ class TestHondaNidecAltSafety(TestHondaNidecSafety): Covers the Honda Nidec safety mode with alt SCM messages """ def setUp(self): - self.packer = CANPackerPanda("acura_ilx_2016_can_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HONDA_NIDEC, Panda.FLAG_HONDA_NIDEC_ALT) + set_up_test(self, "acura_ilx_2016_can_generated", Panda.SAFETY_HONDA_NIDEC, Panda.SAFETY_HONDA_NIDEC) self.safety.init_tests_honda() def _acc_state_msg(self, main_on): @@ -420,9 +415,7 @@ class TestHondaNidecAltInterceptorSafety(TestHondaNidecSafety, common.Intercepto Covers the Honda Nidec safety mode with alt SCM messages and gas interceptor """ def setUp(self): - self.packer = CANPackerPanda("acura_ilx_2016_can_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HONDA_NIDEC, Panda.FLAG_HONDA_NIDEC_ALT) + set_up_test(self, "acura_ilx_2016_can_generated", Panda.SAFETY_HONDA_NIDEC, Panda.FLAG_HONDA_NIDEC_ALT) self.safety.init_tests_honda() def _acc_state_msg(self, main_on): @@ -436,7 +429,6 @@ class TestHondaNidecAltInterceptorSafety(TestHondaNidecSafety, common.Intercepto return self.packer.make_can_msg_panda("SCM_BUTTONS", self.PT_BUS, values) - # ********************* Honda Bosch ********************** @@ -454,10 +446,6 @@ class TestHondaBoschSafetyBase(HondaBase): cls.safety = None raise unittest.SkipTest - def setUp(self): - self.packer = CANPackerPanda("honda_accord_2018_can_generated") - self.safety = libpandasafety_py.libpandasafety - def _alt_brake_msg(self, brake): values = {"BRAKE_PRESSED": brake, "COUNTER": self.cnt_brake % 4} self.__class__.cnt_brake += 1 @@ -492,8 +480,7 @@ class TestHondaBoschSafety(HondaPcmEnableBase, TestHondaBoschSafetyBase): Covers the Honda Bosch safety mode with stock longitudinal """ def setUp(self): - super().setUp() - self.safety.set_safety_hooks(Panda.SAFETY_HONDA_BOSCH, 0) + set_up_test(self, "honda_accord_2018_can_generated", Panda.SAFETY_HONDA_BOSCH, 0) self.safety.init_tests_honda() def test_spam_cancel_safety_check(self): @@ -519,9 +506,7 @@ class TestHondaBoschLongSafety(HondaButtonEnableBase, TestHondaBoschSafetyBase): FWD_BLACKLISTED_ADDRS = {2: [0xE4, 0xE5, 0x33D, 0x33DA, 0x33DB]} def setUp(self): - super().setUp() - self.safety.set_safety_hooks(Panda.SAFETY_HONDA_BOSCH, Panda.FLAG_HONDA_BOSCH_LONG) - self.safety.init_tests_honda() + set_up_test(self, "honda_accord_2018_can_generated", Panda.SAFETY_HONDA_BOSCH, Panda.FLAG_HONDA_BOSCH_LONG) def _send_gas_brake_msg(self, gas, accel): values = { diff --git a/tests/safety/test_hyundai.py b/tests/safety/test_hyundai.py index 8996ccc30..bea59cf26 100755 --- a/tests/safety/test_hyundai.py +++ b/tests/safety/test_hyundai.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, make_msg +from panda.tests.safety.common import make_msg, set_up_test MAX_RATE_UP = 3 MAX_RATE_DOWN = 7 @@ -19,12 +18,14 @@ DRIVER_TORQUE_FACTOR = 2 MAX_ACCEL = 2.0 MIN_ACCEL = -3.5 + class Buttons: NONE = 0 RESUME = 1 SET = 2 CANCEL = 4 + # 4 bit checkusm used in some hyundai messages # lives outside the can packer because we never send this msg def checksum(msg): @@ -73,10 +74,7 @@ class TestHyundaiSafety(common.PandaSafetyTest): cnt_cruise = 0 def setUp(self): - self.packer = CANPackerPanda("hyundai_kia_generic") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HYUNDAI, 0) - self.safety.init_tests() + set_up_test(self, "hyundai_kia_generic", Panda.SAFETY_HYUNDAI, 0) def _button_msg(self, buttons): values = {"CF_Clu_CruiseSwState": buttons} @@ -225,18 +223,12 @@ class TestHyundaiSafety(common.PandaSafetyTest): class TestHyundaiLegacySafety(TestHyundaiSafety): def setUp(self): - self.packer = CANPackerPanda("hyundai_kia_generic") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HYUNDAI_LEGACY, 0) - self.safety.init_tests() + set_up_test(self, "hyundai_kia_generic", Panda.SAFETY_HYUNDAI_LEGACY, 0) class TestHyundaiLegacySafetyEV(TestHyundaiSafety): def setUp(self): - self.packer = CANPackerPanda("hyundai_kia_generic") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HYUNDAI_LEGACY, 1) - self.safety.init_tests() + set_up_test(self, "hyundai_kia_generic", Panda.SAFETY_HYUNDAI_LEGACY, 1) def _user_gas_msg(self, gas): values = {"Accel_Pedal_Pos": gas} @@ -245,24 +237,19 @@ class TestHyundaiLegacySafetyEV(TestHyundaiSafety): class TestHyundaiLegacySafetyHEV(TestHyundaiSafety): def setUp(self): - self.packer = CANPackerPanda("hyundai_kia_generic") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HYUNDAI_LEGACY, 2) - self.safety.init_tests() + set_up_test(self, "hyundai_kia_generic", Panda.SAFETY_HYUNDAI_LEGACY, 2) def _user_gas_msg(self, gas): values = {"CR_Vcu_AccPedDep_Pos": gas} return self.packer.make_can_msg_panda("E_EMS11", 0, values, fix_checksum=checksum) + class TestHyundaiLongitudinalSafety(TestHyundaiSafety): TX_MSGS = [[832, 0], [1265, 0], [1157, 0], [1056, 0], [1057, 0], [1290, 0], [905, 0], [1186, 0], [909, 0], [1155, 0], [2000, 0]] cnt_button = 0 def setUp(self): - self.packer = CANPackerPanda("hyundai_kia_generic") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_HYUNDAI, Panda.FLAG_HYUNDAI_LONG) - self.safety.init_tests() + set_up_test(self, "hyundai_kia_generic", Panda.SAFETY_HYUNDAI, Panda.FLAG_HYUNDAI_LONG) # override these tests from PandaSafetyTest, hyundai longitudinal uses button enable def test_disable_control_allowed_from_cruise(self): @@ -357,6 +344,5 @@ class TestHyundaiLongitudinalSafety(TestHyundaiSafety): self.assertTrue(self.safety.get_relay_malfunction()) - if __name__ == "__main__": unittest.main() diff --git a/tests/safety/test_mazda.py b/tests/safety/test_mazda.py index bb1aea53f..ce4aba543 100755 --- a/tests/safety/test_mazda.py +++ b/tests/safety/test_mazda.py @@ -1,9 +1,8 @@ #!/usr/bin/env python3 import unittest from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test MAX_RATE_UP = 10 MAX_RATE_DOWN = 25 @@ -26,10 +25,7 @@ class TestMazdaSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("mazda_2017") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_MAZDA, 0) - self.safety.init_tests() + set_up_test(self, "mazda_2017", Panda.SAFETY_MAZDA, 0) def _torque_meas_msg(self, torque): values = {"STEER_TORQUE_MOTOR": torque} diff --git a/tests/safety/test_nissan.py b/tests/safety/test_nissan.py index c354f4029..0cb46a784 100755 --- a/tests/safety/test_nissan.py +++ b/tests/safety/test_nissan.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test ANGLE_DELTA_BP = [0., 5., 15.] ANGLE_DELTA_V = [5., .8, .15] # windup limit @@ -26,10 +25,7 @@ class TestNissanSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("nissan_x_trail_2017") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_NISSAN, 0) - self.safety.init_tests() + set_up_test(self, "nissan_x_trail_2017", Panda.SAFETY_NISSAN, 0) def _angle_meas_msg(self, angle): values = {"STEER_ANGLE": angle} @@ -141,13 +137,11 @@ class TestNissanSafety(common.PandaSafetyTest): tx = self._tx(self._acc_button_cmd(**args)) self.assertEqual(tx, should_tx) + class TestNissanLeafSafety(TestNissanSafety): def setUp(self): - self.packer = CANPackerPanda("nissan_leaf_2018") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_NISSAN, 0) - self.safety.init_tests() + set_up_test(self, "nissan_leaf_2018", Panda.SAFETY_NISSAN, 0) def _user_brake_msg(self, brake): values = {"USER_BRAKE_PRESSED": brake} diff --git a/tests/safety/test_subaru.py b/tests/safety/test_subaru.py index 28a038f55..af87164a4 100755 --- a/tests/safety/test_subaru.py +++ b/tests/safety/test_subaru.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test MAX_RATE_UP = 50 MAX_RATE_DOWN = 70 @@ -32,10 +31,7 @@ class TestSubaruSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("subaru_global_2017_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_SUBARU, 0) - self.safety.init_tests() + set_up_test(self, "subaru_global_2017_generated", Panda.SAFETY_SUBARU, 0) def _set_prev_torque(self, t): self.safety.set_desired_torque_last(t) diff --git a/tests/safety/test_subaru_legacy.py b/tests/safety/test_subaru_legacy.py index c488ac091..310e212ee 100755 --- a/tests/safety/test_subaru_legacy.py +++ b/tests/safety/test_subaru_legacy.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test MAX_RATE_UP = 50 MAX_RATE_DOWN = 70 @@ -28,10 +27,7 @@ class TestSubaruLegacySafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("subaru_outback_2015_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_SUBARU_LEGACY, 0) - self.safety.init_tests() + set_up_test(self, "subaru_outback_2015_generated", Panda.SAFETY_SUBARU_LEGACY, 0) def _set_prev_torque(self, t): self.safety.set_desired_torque_last(t) diff --git a/tests/safety/test_tesla.py b/tests/safety/test_tesla.py index a203564c8..639a1c633 100755 --- a/tests/safety/test_tesla.py +++ b/tests/safety/test_tesla.py @@ -3,8 +3,7 @@ import unittest import numpy as np from panda import Panda import panda.tests.safety.common as common -from panda.tests.safety import libpandasafety_py -from panda.tests.safety.common import CANPackerPanda +from panda.tests.safety.common import set_up_test ANGLE_DELTA_BP = [0., 5., 15.] ANGLE_DELTA_V = [5., .8, .15] # windup limit @@ -13,6 +12,7 @@ ANGLE_DELTA_VU = [5., 3.5, 0.4] # unwind limit MAX_ACCEL = 2.0 MIN_ACCEL = -3.5 + class CONTROL_LEVER_STATE: DN_1ST = 32 UP_1ST = 16 @@ -22,9 +22,11 @@ class CONTROL_LEVER_STATE: FWD = 1 IDLE = 0 + def sign(a): return 1 if a > 0 else -1 + class TestTeslaSafety(common.PandaSafetyTest): STANDSTILL_THRESHOLD = 0 GAS_PRESSED_THRESHOLD = 3 @@ -32,7 +34,6 @@ class TestTeslaSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = None raise unittest.SkipTest def _angle_meas_msg(self, angle): @@ -89,10 +90,7 @@ class TestTeslaSteeringSafety(TestTeslaSafety): FWD_BLACKLISTED_ADDRS = {2: [0x488]} def setUp(self): - self.packer = CANPackerPanda("tesla_can") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_TESLA, 0) - self.safety.init_tests() + set_up_test(self, "tesla_can", Panda.SAFETY_TESLA, 0) def test_angle_cmd_when_enabled(self): # when controls are allowed, angle cmd rate limit is enforced @@ -187,16 +185,15 @@ class TestTeslaLongitudinalSafety(TestTeslaSafety): send = (MIN_ACCEL <= min_accel <= MAX_ACCEL) and (MIN_ACCEL <= max_accel <= MAX_ACCEL) self.assertEqual(self._tx(self._long_control_msg(10, acc_val=4, accel_limits=[min_accel, max_accel])), send) + class TestTeslaChassisLongitudinalSafety(TestTeslaLongitudinalSafety): TX_MSGS = [[0x488, 0], [0x45, 0], [0x45, 2], [0x2B9, 0]] RELAY_MALFUNCTION_ADDR = 0x488 FWD_BLACKLISTED_ADDRS = {2: [0x2B9, 0x488]} def setUp(self): - self.packer = CANPackerPanda("tesla_can") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_TESLA, Panda.FLAG_TESLA_LONG_CONTROL) - self.safety.init_tests() + set_up_test(self, "tesla_can", Panda.SAFETY_TESLA, Panda.FLAG_TESLA_LONG_CONTROL) + class TestTeslaPTLongitudinalSafety(TestTeslaLongitudinalSafety): TX_MSGS = [[0x2BF, 0]] @@ -204,10 +201,8 @@ class TestTeslaPTLongitudinalSafety(TestTeslaLongitudinalSafety): FWD_BLACKLISTED_ADDRS = {2: [0x2BF]} def setUp(self): - self.packer = CANPackerPanda("tesla_powertrain") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_TESLA, Panda.FLAG_TESLA_LONG_CONTROL | Panda.FLAG_TESLA_POWERTRAIN) - self.safety.init_tests() + set_up_test(self, "tesla_powertrain", Panda.SAFETY_TESLA, Panda.FLAG_TESLA_LONG_CONTROL | Panda.FLAG_TESLA_POWERTRAIN) + if __name__ == "__main__": unittest.main() diff --git a/tests/safety/test_toyota.py b/tests/safety/test_toyota.py index aa898e8be..16222c938 100755 --- a/tests/safety/test_toyota.py +++ b/tests/safety/test_toyota.py @@ -3,13 +3,13 @@ import unittest import numpy as np import random from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, make_msg, ALTERNATIVE_EXPERIENCE +from panda.tests.safety.common import make_msg, set_up_test, ALTERNATIVE_EXPERIENCE MAX_ACCEL = 2.0 MIN_ACCEL = -3.5 + class TestToyotaSafety(common.PandaSafetyTest, common.InterceptorSafetyTest, common.TorqueSteeringSafetyTest): @@ -34,10 +34,7 @@ class TestToyotaSafety(common.PandaSafetyTest, common.InterceptorSafetyTest, EPS_SCALE = 0.73 def setUp(self): - self.packer = CANPackerPanda("toyota_nodsu_pt_generated") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_TOYOTA, 73) - self.safety.init_tests() + set_up_test(self, "toyota_nodsu_pt_generated", Panda.SAFETY_TOYOTA, 73) def _torque_meas_msg(self, torque): values = {"STEER_TORQUE_EPS": (torque/self.EPS_SCALE)} diff --git a/tests/safety/test_volkswagen_mqb.py b/tests/safety/test_volkswagen_mqb.py index a86637c9d..dbc7feb55 100755 --- a/tests/safety/test_volkswagen_mqb.py +++ b/tests/safety/test_volkswagen_mqb.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, MAX_WRONG_COUNTERS +from panda.tests.safety.common import MAX_WRONG_COUNTERS, set_up_test MAX_RATE_UP = 4 MAX_RATE_DOWN = 10 @@ -253,10 +252,7 @@ class TestVolkswagenMqbStockSafety(TestVolkswagenMqbSafety): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("vw_mqb_2010") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_VOLKSWAGEN_MQB, 0) - self.safety.init_tests() + set_up_test(self, "vw_mqb_2010", Panda.SAFETY_VOLKSWAGEN_MQB, 0) def test_spam_cancel_safety_check(self): self.safety.set_controls_allowed(0) diff --git a/tests/safety/test_volkswagen_pq.py b/tests/safety/test_volkswagen_pq.py index 5a1c75731..94bc37544 100755 --- a/tests/safety/test_volkswagen_pq.py +++ b/tests/safety/test_volkswagen_pq.py @@ -2,9 +2,8 @@ import unittest import numpy as np from panda import Panda -from panda.tests.safety import libpandasafety_py import panda.tests.safety.common as common -from panda.tests.safety.common import CANPackerPanda, MAX_WRONG_COUNTERS +from panda.tests.safety.common import MAX_WRONG_COUNTERS, set_up_test MAX_RATE_UP = 4 MAX_RATE_DOWN = 10 @@ -48,10 +47,7 @@ class TestVolkswagenPqSafety(common.PandaSafetyTest): FWD_BUS_LOOKUP = {0: 2, 2: 0} def setUp(self): - self.packer = CANPackerPanda("vw_golf_mk4") - self.safety = libpandasafety_py.libpandasafety - self.safety.set_safety_hooks(Panda.SAFETY_VOLKSWAGEN_PQ, 0) - self.safety.init_tests() + set_up_test(self, "vw_golf_mk4", Panda.SAFETY_VOLKSWAGEN_PQ, 0) def _set_prev_torque(self, t): self.safety.set_desired_torque_last(t)