From c3de3defc34eff4754e4fb8628f056486bbf6e68 Mon Sep 17 00:00:00 2001 From: Dom <168790843+firestar5683@users.noreply.github.com> Date: Thu, 29 Oct 2026 17:03:45 -0500 Subject: [PATCH] Keep parked power tests in their own collected module --- .../tests/test_parked_power_settings.py | 50 +++++++++++++++++++ .../starpilot/galaxy/tests/test_settings.py | 38 -------------- 2 files changed, 50 insertions(+), 38 deletions(-) create mode 100644 openpilot/starpilot/galaxy/tests/test_parked_power_settings.py diff --git a/openpilot/starpilot/galaxy/tests/test_parked_power_settings.py b/openpilot/starpilot/galaxy/tests/test_parked_power_settings.py new file mode 100644 index 0000000000..b4fd989b9a --- /dev/null +++ b/openpilot/starpilot/galaxy/tests/test_parked_power_settings.py @@ -0,0 +1,50 @@ +"""Parked shutdown preferences use the shared Galaxy gateway fixture.""" +from dataclasses import replace +import unittest + +from openpilot.starpilot.galaxy.settings import SettingsChanged +from openpilot.starpilot.galaxy.tests import test_settings as settings_tests + + +class ParkedPowerSettingsTest(unittest.TestCase): + setUp = settings_tests.SettingsGatewayTest.setUp + page = settings_tests.SettingsGatewayTest.page + + def test_parked_power_sliders_preserve_defaults_and_save_policy(self): + from openpilot.starpilot.power.offroad_preferences import KEY, read_saved, effective + page = self.page('power') + self.assertIsNone(self.params.get(KEY)) + self.assertEqual([(r['value'], r['minimum'], r['maximum'], r['step'], r['unit']) for r in page['rows'][1:]], + [('30', 1, 30, 1, 'h'), ('11.8', 11.8, 12.5, 0.1, 'V')]) + for index, value in ((1, 6), (2, 12.1), (0, 'On')): + page = self.page('power') + intent = self.gateway.preview(page['view'], index, 0, self.session, self.generation, value=value) + self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) + policy = effective(read_saved(self.params)) + self.assertEqual((policy.enabled, policy.delay_hours, policy.cutoff_tenths), (True, 6, 121)) + page = self.page('power') + intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, reset_default=True) + self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) + self.assertEqual(read_saved(self.params).policy.delay_hours, 30) + page = self.page('power') + intent = self.gateway.preview(page['view'], 0, 0, self.session, self.generation, value='Stock') + self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) + self.assertEqual((effective(read_saved(self.params)).delay_hours, effective(read_saved(self.params)).cutoff_tenths), (30, 118)) + + def test_parked_power_refuses_invalid_values_stale_source_and_onroad_save(self): + from openpilot.starpilot.power.offroad_preferences import KEY, to_value, PowerPolicy + for index, value in ((1, 0), (1, 31), (1, 1.5), (2, 11.7), (2, 12.6), (2, 12.15)): + page = self.page('power') + with self.assertRaises(SettingsChanged): + self.gateway.preview(page['view'], index, 0, self.session, self.generation, value=value) + page = self.page('power') + intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, value=6) + self.params.put(KEY, to_value(PowerPolicy(True, 10, 120)), block=True) + self.assertFalse(self.gateway.confirm(intent['intent'], self.session, self.generation)) + page = self.page('power') + intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, value=6) + self.context.value = replace(self.context.value, parked=False) + with self.assertRaises(SettingsChanged): + self.gateway.confirm(intent['intent'], self.session, self.generation) + self.assertTrue(all(not row['available'] for row in self.page('power')['rows'])) + diff --git a/openpilot/starpilot/galaxy/tests/test_settings.py b/openpilot/starpilot/galaxy/tests/test_settings.py index c96d308d99..42a2c6923f 100644 --- a/openpilot/starpilot/galaxy/tests/test_settings.py +++ b/openpilot/starpilot/galaxy/tests/test_settings.py @@ -53,44 +53,6 @@ class SettingsGatewayTest(unittest.TestCase): def page(self, name): return self.gateway.page(name, self.session, self.generation) - def test_parked_power_sliders_preserve_defaults_and_save_policy(self): - from openpilot.starpilot.power.offroad_preferences import KEY, read_saved, effective - page = self.page('power') - self.assertIsNone(self.params.get(KEY)) - self.assertEqual([(r['value'], r['minimum'], r['maximum'], r['step'], r['unit']) for r in page['rows'][1:]], - [('30', 1, 30, 1, 'h'), ('11.8', 11.8, 12.5, 0.1, 'V')]) - for index, value in ((1, 6), (2, 12.1), (0, 'On')): - page = self.page('power') - intent = self.gateway.preview(page['view'], index, 0, self.session, self.generation, value=value) - self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) - policy = effective(read_saved(self.params)) - self.assertEqual((policy.enabled, policy.delay_hours, policy.cutoff_tenths), (True, 6, 121)) - page = self.page('power') - intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, reset_default=True) - self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) - self.assertEqual(read_saved(self.params).policy.delay_hours, 30) - page = self.page('power') - intent = self.gateway.preview(page['view'], 0, 0, self.session, self.generation, value='Stock') - self.assertTrue(self.gateway.confirm(intent['intent'], self.session, self.generation)) - self.assertEqual((effective(read_saved(self.params)).delay_hours, effective(read_saved(self.params)).cutoff_tenths), (30, 118)) - - def test_parked_power_refuses_invalid_values_stale_source_and_onroad_save(self): - from openpilot.starpilot.power.offroad_preferences import KEY, to_value, PowerPolicy - for index, value in ((1, 0), (1, 31), (1, 1.5), (2, 11.7), (2, 12.6), (2, 12.15)): - page = self.page('power') - with self.assertRaises(SettingsChanged): - self.gateway.preview(page['view'], index, 0, self.session, self.generation, value=value) - page = self.page('power') - intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, value=6) - self.params.put(KEY, to_value(PowerPolicy(True, 10, 120)), block=True) - self.assertFalse(self.gateway.confirm(intent['intent'], self.session, self.generation)) - page = self.page('power') - intent = self.gateway.preview(page['view'], 1, 0, self.session, self.generation, value=6) - self.context.value = replace(self.context.value, parked=False) - with self.assertRaises(SettingsChanged): - self.gateway.confirm(intent['intent'], self.session, self.generation) - self.assertTrue(all(not row['available'] for row in self.page('power')['rows'])) - def test_aol_steering_pause_actual_angle_gateway_save_and_default(self): from opendbc.car.car_helpers import interfaces from opendbc.car.ford.values import CAR as FORD