base class for different panda safety tests

master
Adeeb Shihadeh 2020-04-27 15:39:08 -07:00
parent bd98fe6031
commit 0632710acd
3 changed files with 24 additions and 17 deletions

View File

@ -41,7 +41,20 @@ class CANPackerPanda(CANPacker):
msg = self.make_can_msg(name_or_addr, bus, values, counter=-1)
return package_can_msg(msg)
class PandaSafetyTest(unittest.TestCase):
class PandaSafetyTestBase(unittest.TestCase):
@classmethod
def setUpClass(cls):
if cls.__name__ == "PandaSafetyTestBase":
cls.safety = None
raise unittest.SkipTest
def _rx(self, msg):
return self.safety.safety_rx_hook(msg)
def _tx(self, msg):
return self.safety.safety_tx_hook(msg)
class PandaSafetyTest(PandaSafetyTestBase):
TX_MSGS = None
STANDSTILL_THRESHOLD = None
GAS_PRESSED_THRESHOLD = 0
@ -56,12 +69,6 @@ class PandaSafetyTest(unittest.TestCase):
cls.safety = None
raise unittest.SkipTest
def _rx(self, msg):
return self.safety.safety_rx_hook(msg)
def _tx(self, msg):
return self.safety.safety_tx_hook(msg)
@abc.abstractmethod
def _brake_msg(self, brake):
pass

View File

@ -42,11 +42,11 @@ class TestToyotaSafety(common.PandaSafetyTest):
FWD_BUS_LOOKUP = {0: 2, 2: 0}
@classmethod
def setUp(cls):
cls.packer = CANPackerPanda("toyota_prius_2017_pt_generated")
cls.safety = libpandasafety_py.libpandasafety
cls.safety.set_safety_hooks(Panda.SAFETY_TOYOTA, 66)
cls.safety.init_tests_toyota()
def setUp(self):
self.packer = CANPackerPanda("toyota_prius_2017_pt_generated")
self.safety = libpandasafety_py.libpandasafety
self.safety.set_safety_hooks(Panda.SAFETY_TOYOTA, 66)
self.safety.init_tests_toyota()
def _set_prev_torque(self, t):
self.safety.set_toyota_desired_torque_last(t)

View File

@ -42,11 +42,11 @@ class TestVolkswagenMqbSafety(common.PandaSafetyTest):
FWD_BUS_LOOKUP = {0: 2, 2: 0}
@classmethod
def setUp(cls):
cls.packer = CANPackerPanda("vw_mqb_2010")
cls.safety = libpandasafety_py.libpandasafety
cls.safety.set_safety_hooks(Panda.SAFETY_VOLKSWAGEN_MQB, 0)
cls.safety.init_tests_volkswagen()
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_volkswagen()
def _set_prev_torque(self, t):
self.safety.set_volkswagen_desired_torque_last(t)