diff --git a/tests/libpanda/safety_helpers.h b/tests/libpanda/safety_helpers.h index ab4db4757c..c33d593c6b 100644 --- a/tests/libpanda/safety_helpers.h +++ b/tests/libpanda/safety_helpers.h @@ -158,6 +158,9 @@ int get_angle_meas_max(void){ return angle_meas.max; } +int get_angle_meas_last(void){ + return angle_meas.values[0]; +} // ***** car specific helpers ***** diff --git a/tests/libpanda/safety_helpers.py b/tests/libpanda/safety_helpers.py index 6b510da6a8..c1ae880083 100644 --- a/tests/libpanda/safety_helpers.py +++ b/tests/libpanda/safety_helpers.py @@ -34,6 +34,7 @@ def setup_safety_helpers(ffi): void set_angle_meas(int min, int max); int get_angle_meas_min(void); int get_angle_meas_max(void); + int get_angle_meas_last(void); bool get_cruise_engaged_prev(void); void set_cruise_engaged_prev(bool engaged); diff --git a/tests/safety/test_subaru.py b/tests/safety/test_subaru.py index 7d07f79aaf..6839f661d9 100755 --- a/tests/safety/test_subaru.py +++ b/tests/safety/test_subaru.py @@ -106,6 +106,21 @@ def _pcm_status_msg(self, enable): values = {"Cruise_Activated": enable} return self.packer.make_can_msg_panda("CruiseControl", self.ALT_MAIN_BUS, values) + def test_angle_meas(self): + self.assertTrue(self._rx(self._angle_meas_msg(0))) + self.assertEqual(self.safety.get_angle_meas_last(), 0) + + self.assertTrue(self._rx(self._angle_meas_msg(1))) + self.assertEqual(self.safety.get_angle_meas_last(), 100) + + def test_vehicle_speed(self): + self.assertTrue(self._rx(self._speed_msg(0))) + self.assertFalse(self.safety.get_vehicle_moving()) + self.assertEqual(self.safety.get_vehicle_speed_last(), 0) + + self.assertTrue(self._rx(self._speed_msg(1))) + self.assertTrue(self.safety.get_vehicle_moving()) + self.assertEqual(self.safety.get_vehicle_speed_last(), 103) class TestSubaruStockLongitudinalSafetyBase(TestSubaruSafetyBase): def _cancel_msg(self, cancel, cruise_throttle=0):