diff --git a/sunnypilot/selfdrive/controls/lib/speed_limit_controller/tests/test_speed_limit_controller.py b/sunnypilot/selfdrive/controls/lib/speed_limit_controller/tests/test_speed_limit_controller.py index 578544ee90..3cfa764df4 100644 --- a/sunnypilot/selfdrive/controls/lib/speed_limit_controller/tests/test_speed_limit_controller.py +++ b/sunnypilot/selfdrive/controls/lib/speed_limit_controller/tests/test_speed_limit_controller.py @@ -165,6 +165,7 @@ class TestSpeedLimitController: def test_invalid_speed_limits_handling(self): self.slc.state = SpeedLimitControlState.active + self.slc.v_cruise_setpoint_prev = REQUIRED_INITIAL_MAX_SET_SPEED self.slc.last_valid_speed_limit_offsetted = SPEED_LIMITS['city'] invalid_limits = [-10, 0, 200 * CV.MPH_TO_MS] @@ -173,3 +174,13 @@ class TestSpeedLimitController: v_cruise_slc = self.slc.update(True, SPEED_LIMITS['city'], 0, REQUIRED_INITIAL_MAX_SET_SPEED, invalid_limit, 0, Source.car_state, self.events_sp) assert isinstance(v_cruise_slc, (int, float)) assert v_cruise_slc == V_CRUISE_UNSET or v_cruise_slc > 0 + + def test_stale_data_handling(self): + self.slc.state = SpeedLimitControlState.active + self.slc.v_cruise_setpoint_prev = REQUIRED_INITIAL_MAX_SET_SPEED + old_speed_limit = SPEED_LIMITS['city'] + self.slc.last_valid_speed_limit_offsetted = old_speed_limit + + v_cruise_slc = self.slc.update(True, SPEED_LIMITS['city'], 0, REQUIRED_INITIAL_MAX_SET_SPEED, 0, 0, Source.car_state, self.events_sp) + assert self.slc.state in ACTIVE_STATES + assert v_cruise_slc == old_speed_limit