From 6d201df86abb8b413af8344bc276b1a75400fb8f Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Fri, 23 Oct 2026 06:36:08 -0500 Subject: [PATCH] Align UI fixtures and complete Galaxy setting descriptions --- .../starpilot/galaxy/setting_descriptions.py | 3 ++ .../tests/description-key-inventory.json | 2 +- .../starpilot/ui/tests/test_covered_camera.py | 7 +-- .../ui/tests/test_onroad_customization.py | 8 ++-- .../starpilot/ui/tests/test_onroad_parity.py | 5 +- .../starpilot/ui/tests/test_slc_retention.py | 47 +++++++++++-------- prebuilt.json | 2 +- 7 files changed, 44 insertions(+), 30 deletions(-) diff --git a/openpilot/starpilot/galaxy/setting_descriptions.py b/openpilot/starpilot/galaxy/setting_descriptions.py index 3eed8bc20c..39675af88f 100644 --- a/openpilot/starpilot/galaxy/setting_descriptions.py +++ b/openpilot/starpilot/galaxy/setting_descriptions.py @@ -6,6 +6,9 @@ This presentation catalog supplies the purpose before any genuine prerequisite. from openpilot.starpilot.ui.long_profile_feature import CATEGORY_HELP, VALUE_HELP DESCRIPTIONS = { + 'lane_change:turn_signal_guidance': 'Uses your turn signal to help the model choose a turning path at intersections.', + 'AlphaLongitudinalEnabled': ('Requests StarPilot speed control instead of factory ACC. May disable Automatic Emergency Braking. ' + + 'Applies after the next startup; exact vehicle takeover checks remain required.'), 'lane_change:enabled': 'Enables lane-change assistance after you signal. With Automatic Lane Changes off, give the wheel a nudge to begin.', 'lane_change:pace': 'Sets how quickly steering moves into the adjacent lane. Higher values change lanes more quickly; lower values make steering gentler.', 'lane_change:speed': 'Sets the lowest speed at which lane-change assistance can begin.', diff --git a/openpilot/starpilot/galaxy/tests/description-key-inventory.json b/openpilot/starpilot/galaxy/tests/description-key-inventory.json index 163c0c6635..23ee605f42 100644 --- a/openpilot/starpilot/galaxy/tests/description-key-inventory.json +++ b/openpilot/starpilot/galaxy/tests/description-key-inventory.json @@ -1 +1 @@ -["AggressiveFollow","AggressiveFollowHigh","AggressiveJerkAcceleration","AggressiveJerkDanger","AggressiveJerkDeceleration","AggressiveJerkSpeed","AggressiveJerkSpeedDecrease","AlwaysAllowUploads","AlwaysOnLateral","AolBrakePauseSpeedMps","BlindSpotMetrics","CameraView","CurveSpeedController","CurveSpeedControllerNoLead","CustomCruise","CustomCruiseLong","CustomPersonalities","DeveloperSidebar","DisableOpenpilotLongitudinal","DisengageVolume","DriverCamera","EVTuning","EngageVolume","FasterLeadTakeoff","ForceAutoTuneOff","ForceStopDistanceOffset","ForceStops","FordLateralMode","GMAutoHold","GMLongitudinalTune","GMPedalLongitudinal","HKGRemoteStartBootsComma","HideLeadMarker","HidePersonalityAlerts","IgnoreIgnitionLine","KeepScreenOnGpuLoading","LaneCenterOffset","LaneCentering","LaneCenteringE2EAuthority","LaneCenteringPauseOnSignal","LaneCenteringStrength","LateralControllerSelection","LateralResumeDelay","LeadApproachBuffer","LeadInfo","LongPitch","NostalgiaMode","Offset1","Offset2","Offset3","Offset4","Offset5","Offset6","Offset7","PIPPreviewEnabled","PIPPreviewInvert","PIPPreviewShowOnBSM","PIPPreviewShowOnBlinker","PauseLateralOnSignal","PauseLateralSpeed","PromptDistractedVolume","PromptVolume","RadarRecoveryAlert","RefuseVolume","RelaxedFollow","RelaxedFollowHigh","RelaxedJerkAcceleration","RelaxedJerkDanger","RelaxedJerkDeceleration","RelaxedJerkSpeed","RelaxedJerkSpeedDecrease","RemoteStartBootsComma","ReverseCruise","SLCConfirmation","SLCFallback","SLCPriority1","SLCPriority2","ScreenBrightness","ScreenBrightnessOnroad","ScreenTimeout","ScreenTimeoutOnroad","ShowBrakeStatus","ShowCSCStatus","ShowSpeedLimits","SignalMetrics","SoundPack","SpeedLimitController","StandardFollow","StandardFollowHigh","StandardJerkAcceleration","StandardJerkDanger","StandardJerkDeceleration","StandardJerkSpeed","StandardJerkSpeedDecrease","StarPilotDisplayPreferencesEnabled","SteerFriction","SteerLatAccel","StockConfidenceBallWidget","TeslaAOLDisengageOnBrake","TeslaAOLScreenTap","TeslaWakeOnCAN","ToyotaAutoHold","ToyotaRadarMode","TrafficFollow","TrafficJerkAcceleration","TrafficJerkDanger","TrafficJerkDeceleration","TrafficJerkSpeed","TrafficJerkSpeedDecrease","TruckTuning","TurnAssist","TurnOffCommaScreen","UseStarPilotLongitudinalPlanner","UseVOACC","VoltOnePedalMode","VoltSNG","WarningImmediateVolume","WarningSoftVolume","conditional:button:DistanceButtonControl","conditional:button:LongDistanceButtonControl","conditional:button:LongModeButtonControl","conditional:button:LongStarButtonControl","conditional:button:ModeButtonControl","conditional:button:StarButtonControl","conditional:button:VeryLongDistanceButtonControl","conditional:button:VeryLongModeButtonControl","conditional:button:VeryLongStarButtonControl","conditional:ccm:launch_assist","conditional:ccm:lead","conditional:ccm:persist_manual","conditional:ccm:set_speed_margin_mps","conditional:ccm:speed_mps","conditional:ccm:speed_with_lead_mps","conditional:cem:curves","conditional:cem:curves_with_lead","conditional:cem:lead","conditional:cem:model_stop_s","conditional:cem:open_road","conditional:cem:persist_manual","conditional:cem:signal_lane_detection","conditional:cem:signal_lane_width_m","conditional:cem:signal_speed_mps","conditional:cem:slower_lead","conditional:cem:speed_mps","conditional:cem:speed_with_lead_mps","conditional:cem:stop_lights","conditional:cem:stopped_lead","conditional:manual_reset","conditional:mode","conditional:reset","curve_reset","display:auto:ScreenBrightness","display:auto:ScreenBrightnessOnroad","lane_change:auto","lane_change:close_gap","lane_change:close_gap_seconds","lane_change:delay","lane_change:enabled","lane_change:one","lane_change:pace","lane_change:reset","lane_change:speed","lane_change:width","long_repair:AggressiveFollow","long_repair:AggressiveFollowHigh","long_repair:AggressiveJerkAcceleration","long_repair:AggressiveJerkDanger","long_repair:AggressiveJerkDeceleration","long_repair:AggressiveJerkSpeed","long_repair:AggressiveJerkSpeedDecrease","long_repair:CustomPersonalities","long_repair:RelaxedFollow","long_repair:RelaxedFollowHigh","long_repair:RelaxedJerkAcceleration","long_repair:RelaxedJerkDanger","long_repair:RelaxedJerkDeceleration","long_repair:RelaxedJerkSpeed","long_repair:RelaxedJerkSpeedDecrease","long_repair:StandardFollow","long_repair:StandardFollowHigh","long_repair:StandardJerkAcceleration","long_repair:StandardJerkDanger","long_repair:StandardJerkDeceleration","long_repair:StandardJerkSpeed","long_repair:StandardJerkSpeedDecrease","long_reset:aggressive","long_reset:relaxed","long_reset:standard","pip:format:1344x760","pip:format:1928x1208","pip:mask:editor","pip:mask:left:x","pip:mask:left:y","pip:mask:right:x","pip:mask:right:y","pip:mask:size","pip:reset","profile:aggressive:acceleration","profile:aggressive:acceleration:0","profile:aggressive:acceleration:1","profile:aggressive:acceleration:2","profile:aggressive:acceleration:3","profile:aggressive:acceleration:4","profile:aggressive:acceleration:5","profile:aggressive:acceleration:6","profile:aggressive:acceleration:7","profile:aggressive:acceleration:8","profile:aggressive:acceleration:9","profile:aggressive:braking","profile:aggressive:braking:0","profile:aggressive:braking:1","profile:aggressive:braking:2","profile:aggressive:braking:3","profile:aggressive:braking:4","profile:aggressive:braking:5","profile:aggressive:braking:6","profile:aggressive:braking:7","profile:aggressive:braking:8","profile:aggressive:braking:9","profile:aggressive:following","profile:aggressive:following:0","profile:aggressive:following:1","profile:aggressive:following:2","profile:aggressive:following:3","profile:aggressive:following:4","profile:aggressive:following:5","profile:aggressive:following:6","profile:aggressive:following:7","profile:aggressive:following:8","profile:aggressive:following:9","profile:global_acceleration","profile:global_braking","profile:relaxed:acceleration","profile:relaxed:acceleration:0","profile:relaxed:acceleration:1","profile:relaxed:acceleration:2","profile:relaxed:acceleration:3","profile:relaxed:acceleration:4","profile:relaxed:acceleration:5","profile:relaxed:acceleration:6","profile:relaxed:acceleration:7","profile:relaxed:acceleration:8","profile:relaxed:acceleration:9","profile:relaxed:braking","profile:relaxed:braking:0","profile:relaxed:braking:1","profile:relaxed:braking:2","profile:relaxed:braking:3","profile:relaxed:braking:4","profile:relaxed:braking:5","profile:relaxed:braking:6","profile:relaxed:braking:7","profile:relaxed:braking:8","profile:relaxed:braking:9","profile:relaxed:following","profile:relaxed:following:0","profile:relaxed:following:1","profile:relaxed:following:2","profile:relaxed:following:3","profile:relaxed:following:4","profile:relaxed:following:5","profile:relaxed:following:6","profile:relaxed:following:7","profile:relaxed:following:8","profile:relaxed:following:9","profile:standard:acceleration","profile:standard:acceleration:0","profile:standard:acceleration:1","profile:standard:acceleration:2","profile:standard:acceleration:3","profile:standard:acceleration:4","profile:standard:acceleration:5","profile:standard:acceleration:6","profile:standard:acceleration:7","profile:standard:acceleration:8","profile:standard:acceleration:9","profile:standard:braking","profile:standard:braking:0","profile:standard:braking:1","profile:standard:braking:2","profile:standard:braking:3","profile:standard:braking:4","profile:standard:braking:5","profile:standard:braking:6","profile:standard:braking:7","profile:standard:braking:8","profile:standard:braking:9","profile:standard:following","profile:standard:following:0","profile:standard:following:1","profile:standard:following:2","profile:standard:following:3","profile:standard:following:4","profile:standard:following:5","profile:standard:following:6","profile:standard:following:7","profile:standard:following:8","profile:standard:following:9","profile:traffic:acceleration","profile:traffic:acceleration:0","profile:traffic:acceleration:1","profile:traffic:acceleration:2","profile:traffic:acceleration:3","profile:traffic:acceleration:4","profile:traffic:acceleration:5","profile:traffic:acceleration:6","profile:traffic:acceleration:7","profile:traffic:acceleration:8","profile:traffic:acceleration:9","profile:traffic:braking","profile:traffic:braking:0","profile:traffic:braking:1","profile:traffic:braking:2","profile:traffic:braking:3","profile:traffic:braking:4","profile:traffic:braking:5","profile:traffic:braking:6","profile:traffic:braking:7","profile:traffic:braking:8","profile:traffic:braking:9","profile:traffic:following","profile:traffic:following:0","profile:traffic:following:1","profile:traffic:following:2","profile:traffic:following:3","profile:traffic:following:4","profile:traffic:following:5","profile:traffic:following:6","profile:traffic:following:7","profile:traffic:following:8","profile:traffic:following:9","reset_profiles","sentry:enabled","sentry:reset","sentry:sensitivity","sentry:warning","slc_adopt","slc_reset","sounds:auto:DisengageVolume","sounds:auto:EngageVolume","sounds:auto:PromptDistractedVolume","sounds:auto:PromptVolume","sounds:auto:RefuseVolume","sounds:auto:WarningImmediateVolume","sounds:auto:WarningSoftVolume","torque:automatic_delay:value","torque:factor:mode","torque:factor:reset","torque:factor:value","torque:friction:mode","torque:friction:reset","torque:friction:value","torque:full_delay:mode","torque:full_delay:value","torque:gain:mode","torque:gain:value","torque:geometry_reset:value","torque:learning:value","torque:ratio:mode","torque:ratio:value","torque_prepare_firestar","vasm:annotation","vasm:confidence","vasm:enabled","vasm:reset","vasm:smooth","wheel:CancelButtonControl","wheel:DistanceButtonControl","wheel:LKASButtonControl","wheel:LeftPaddleButtonControl","wheel:LongCancelButtonControl","wheel:LongDistanceButtonControl","wheel:LongModeButtonControl","wheel:LongStarButtonControl","wheel:MainCruiseButtonControl","wheel:ModeButtonControl","wheel:StarButtonControl","wheel:VeryLongCancelButtonControl","wheel:VeryLongDistanceButtonControl","wheel:VeryLongModeButtonControl","wheel:VeryLongStarButtonControl"] +["AggressiveFollow","AggressiveFollowHigh","AggressiveJerkAcceleration","AggressiveJerkDanger","AggressiveJerkDeceleration","AggressiveJerkSpeed","AggressiveJerkSpeedDecrease","AlphaLongitudinalEnabled","AlwaysAllowUploads","AlwaysOnLateral","AolBrakePauseSpeedMps","BlindSpotMetrics","CameraView","CurveSpeedController","CurveSpeedControllerNoLead","CustomCruise","CustomCruiseLong","CustomPersonalities","DeveloperSidebar","DisableOpenpilotLongitudinal","DisengageVolume","DriverCamera","EVTuning","EngageVolume","FasterLeadTakeoff","ForceAutoTuneOff","ForceStopDistanceOffset","ForceStops","FordLateralMode","GMAutoHold","GMLongitudinalTune","GMPedalLongitudinal","HKGRemoteStartBootsComma","HideLeadMarker","HidePersonalityAlerts","IgnoreIgnitionLine","KeepScreenOnGpuLoading","LaneCenterOffset","LaneCentering","LaneCenteringE2EAuthority","LaneCenteringPauseOnSignal","LaneCenteringStrength","LateralControllerSelection","LateralResumeDelay","LeadApproachBuffer","LeadInfo","LongPitch","NostalgiaMode","Offset1","Offset2","Offset3","Offset4","Offset5","Offset6","Offset7","PIPPreviewEnabled","PIPPreviewInvert","PIPPreviewShowOnBSM","PIPPreviewShowOnBlinker","PauseLateralOnSignal","PauseLateralSpeed","PromptDistractedVolume","PromptVolume","RadarRecoveryAlert","RefuseVolume","RelaxedFollow","RelaxedFollowHigh","RelaxedJerkAcceleration","RelaxedJerkDanger","RelaxedJerkDeceleration","RelaxedJerkSpeed","RelaxedJerkSpeedDecrease","RemoteStartBootsComma","ReverseCruise","SLCConfirmation","SLCFallback","SLCPriority1","SLCPriority2","ScreenBrightness","ScreenBrightnessOnroad","ScreenTimeout","ScreenTimeoutOnroad","ShowBrakeStatus","ShowCSCStatus","ShowSpeedLimits","SignalMetrics","SoundPack","SpeedLimitController","StandardFollow","StandardFollowHigh","StandardJerkAcceleration","StandardJerkDanger","StandardJerkDeceleration","StandardJerkSpeed","StandardJerkSpeedDecrease","StarPilotDisplayPreferencesEnabled","SteerFriction","SteerLatAccel","StockConfidenceBallWidget","TeslaAOLDisengageOnBrake","TeslaAOLScreenTap","TeslaWakeOnCAN","ToyotaAutoHold","ToyotaRadarMode","TrafficFollow","TrafficJerkAcceleration","TrafficJerkDanger","TrafficJerkDeceleration","TrafficJerkSpeed","TrafficJerkSpeedDecrease","TruckTuning","TurnAssist","TurnOffCommaScreen","UseStarPilotLongitudinalPlanner","UseVOACC","VoltOnePedalMode","VoltSNG","WarningImmediateVolume","WarningSoftVolume","conditional:button:DistanceButtonControl","conditional:button:LongDistanceButtonControl","conditional:button:LongModeButtonControl","conditional:button:LongStarButtonControl","conditional:button:ModeButtonControl","conditional:button:StarButtonControl","conditional:button:VeryLongDistanceButtonControl","conditional:button:VeryLongModeButtonControl","conditional:button:VeryLongStarButtonControl","conditional:ccm:launch_assist","conditional:ccm:lead","conditional:ccm:persist_manual","conditional:ccm:set_speed_margin_mps","conditional:ccm:speed_mps","conditional:ccm:speed_with_lead_mps","conditional:cem:curves","conditional:cem:curves_with_lead","conditional:cem:lead","conditional:cem:model_stop_s","conditional:cem:open_road","conditional:cem:persist_manual","conditional:cem:signal_lane_detection","conditional:cem:signal_lane_width_m","conditional:cem:signal_speed_mps","conditional:cem:slower_lead","conditional:cem:speed_mps","conditional:cem:speed_with_lead_mps","conditional:cem:stop_lights","conditional:cem:stopped_lead","conditional:manual_reset","conditional:mode","conditional:reset","curve_reset","display:auto:ScreenBrightness","display:auto:ScreenBrightnessOnroad","lane_change:auto","lane_change:close_gap","lane_change:close_gap_seconds","lane_change:delay","lane_change:enabled","lane_change:one","lane_change:pace","lane_change:reset","lane_change:speed","lane_change:turn_signal_guidance","lane_change:width","long_repair:AggressiveFollow","long_repair:AggressiveFollowHigh","long_repair:AggressiveJerkAcceleration","long_repair:AggressiveJerkDanger","long_repair:AggressiveJerkDeceleration","long_repair:AggressiveJerkSpeed","long_repair:AggressiveJerkSpeedDecrease","long_repair:CustomPersonalities","long_repair:RelaxedFollow","long_repair:RelaxedFollowHigh","long_repair:RelaxedJerkAcceleration","long_repair:RelaxedJerkDanger","long_repair:RelaxedJerkDeceleration","long_repair:RelaxedJerkSpeed","long_repair:RelaxedJerkSpeedDecrease","long_repair:StandardFollow","long_repair:StandardFollowHigh","long_repair:StandardJerkAcceleration","long_repair:StandardJerkDanger","long_repair:StandardJerkDeceleration","long_repair:StandardJerkSpeed","long_repair:StandardJerkSpeedDecrease","long_reset:aggressive","long_reset:relaxed","long_reset:standard","pip:format:1344x760","pip:format:1928x1208","pip:mask:editor","pip:mask:left:x","pip:mask:left:y","pip:mask:right:x","pip:mask:right:y","pip:mask:size","pip:reset","profile:aggressive:acceleration","profile:aggressive:acceleration:0","profile:aggressive:acceleration:1","profile:aggressive:acceleration:2","profile:aggressive:acceleration:3","profile:aggressive:acceleration:4","profile:aggressive:acceleration:5","profile:aggressive:acceleration:6","profile:aggressive:acceleration:7","profile:aggressive:acceleration:8","profile:aggressive:acceleration:9","profile:aggressive:braking","profile:aggressive:braking:0","profile:aggressive:braking:1","profile:aggressive:braking:2","profile:aggressive:braking:3","profile:aggressive:braking:4","profile:aggressive:braking:5","profile:aggressive:braking:6","profile:aggressive:braking:7","profile:aggressive:braking:8","profile:aggressive:braking:9","profile:aggressive:following","profile:aggressive:following:0","profile:aggressive:following:1","profile:aggressive:following:2","profile:aggressive:following:3","profile:aggressive:following:4","profile:aggressive:following:5","profile:aggressive:following:6","profile:aggressive:following:7","profile:aggressive:following:8","profile:aggressive:following:9","profile:global_acceleration","profile:global_braking","profile:relaxed:acceleration","profile:relaxed:acceleration:0","profile:relaxed:acceleration:1","profile:relaxed:acceleration:2","profile:relaxed:acceleration:3","profile:relaxed:acceleration:4","profile:relaxed:acceleration:5","profile:relaxed:acceleration:6","profile:relaxed:acceleration:7","profile:relaxed:acceleration:8","profile:relaxed:acceleration:9","profile:relaxed:braking","profile:relaxed:braking:0","profile:relaxed:braking:1","profile:relaxed:braking:2","profile:relaxed:braking:3","profile:relaxed:braking:4","profile:relaxed:braking:5","profile:relaxed:braking:6","profile:relaxed:braking:7","profile:relaxed:braking:8","profile:relaxed:braking:9","profile:relaxed:following","profile:relaxed:following:0","profile:relaxed:following:1","profile:relaxed:following:2","profile:relaxed:following:3","profile:relaxed:following:4","profile:relaxed:following:5","profile:relaxed:following:6","profile:relaxed:following:7","profile:relaxed:following:8","profile:relaxed:following:9","profile:standard:acceleration","profile:standard:acceleration:0","profile:standard:acceleration:1","profile:standard:acceleration:2","profile:standard:acceleration:3","profile:standard:acceleration:4","profile:standard:acceleration:5","profile:standard:acceleration:6","profile:standard:acceleration:7","profile:standard:acceleration:8","profile:standard:acceleration:9","profile:standard:braking","profile:standard:braking:0","profile:standard:braking:1","profile:standard:braking:2","profile:standard:braking:3","profile:standard:braking:4","profile:standard:braking:5","profile:standard:braking:6","profile:standard:braking:7","profile:standard:braking:8","profile:standard:braking:9","profile:standard:following","profile:standard:following:0","profile:standard:following:1","profile:standard:following:2","profile:standard:following:3","profile:standard:following:4","profile:standard:following:5","profile:standard:following:6","profile:standard:following:7","profile:standard:following:8","profile:standard:following:9","profile:traffic:acceleration","profile:traffic:acceleration:0","profile:traffic:acceleration:1","profile:traffic:acceleration:2","profile:traffic:acceleration:3","profile:traffic:acceleration:4","profile:traffic:acceleration:5","profile:traffic:acceleration:6","profile:traffic:acceleration:7","profile:traffic:acceleration:8","profile:traffic:acceleration:9","profile:traffic:braking","profile:traffic:braking:0","profile:traffic:braking:1","profile:traffic:braking:2","profile:traffic:braking:3","profile:traffic:braking:4","profile:traffic:braking:5","profile:traffic:braking:6","profile:traffic:braking:7","profile:traffic:braking:8","profile:traffic:braking:9","profile:traffic:following","profile:traffic:following:0","profile:traffic:following:1","profile:traffic:following:2","profile:traffic:following:3","profile:traffic:following:4","profile:traffic:following:5","profile:traffic:following:6","profile:traffic:following:7","profile:traffic:following:8","profile:traffic:following:9","reset_profiles","sentry:enabled","sentry:reset","sentry:sensitivity","sentry:warning","slc_adopt","slc_reset","sounds:auto:DisengageVolume","sounds:auto:EngageVolume","sounds:auto:PromptDistractedVolume","sounds:auto:PromptVolume","sounds:auto:RefuseVolume","sounds:auto:WarningImmediateVolume","sounds:auto:WarningSoftVolume","torque:automatic_delay:value","torque:factor:mode","torque:factor:reset","torque:factor:value","torque:friction:mode","torque:friction:reset","torque:friction:value","torque:full_delay:mode","torque:full_delay:value","torque:gain:mode","torque:gain:value","torque:geometry_reset:value","torque:learning:value","torque:ratio:mode","torque:ratio:value","torque_prepare_firestar","vasm:annotation","vasm:confidence","vasm:enabled","vasm:reset","vasm:smooth","wheel:CancelButtonControl","wheel:DistanceButtonControl","wheel:LKASButtonControl","wheel:LeftPaddleButtonControl","wheel:LongCancelButtonControl","wheel:LongDistanceButtonControl","wheel:LongModeButtonControl","wheel:LongStarButtonControl","wheel:MainCruiseButtonControl","wheel:ModeButtonControl","wheel:StarButtonControl","wheel:VeryLongCancelButtonControl","wheel:VeryLongDistanceButtonControl","wheel:VeryLongModeButtonControl","wheel:VeryLongStarButtonControl"] diff --git a/openpilot/starpilot/ui/tests/test_covered_camera.py b/openpilot/starpilot/ui/tests/test_covered_camera.py index 7a7d1d63e4..a0ef56ad00 100644 --- a/openpilot/starpilot/ui/tests/test_covered_camera.py +++ b/openpilot/starpilot/ui/tests/test_covered_camera.py @@ -183,11 +183,12 @@ def make_session(monkeypatch, request, profile, camera): monkeypatch.setattr(runtime_app, 'ui_state', NS(params=object(), CP=None, sm={})) monkeypatch.delenv('SP_ONROAD_VISUAL_PREVIEW', raising=False) def view(*_, camera_layer, **__): - return NS(camera_layer=camera_layer, onroad=NS(unified_speed=NS(source_bounds=Mock()), compact_sidebar=NS())) + return NS(camera_layer=camera_layer, onroad=NS(unified_speed=NS(source_bounds=Mock()), compact_sidebar=NS(), jetlink_status=Mock())) monkeypatch.setattr(runtime_app, 'ShellView', view) session = runtime_app.StarShellSession(profile, camera) - if receiver := session._projection_bookmarks: - request.addfinalizer(receiver.close) + for owner in (session._projection_bookmarks, session._projection_slc, session.onroad_map, session.onroad_jetlink): + if owner is not None: + request.addfinalizer(owner.close) return session diff --git a/openpilot/starpilot/ui/tests/test_onroad_customization.py b/openpilot/starpilot/ui/tests/test_onroad_customization.py index abd91649e0..7c9c6047ab 100644 --- a/openpilot/starpilot/ui/tests/test_onroad_customization.py +++ b/openpilot/starpilot/ui/tests/test_onroad_customization.py @@ -534,7 +534,7 @@ def test_frozen_default_draw_geometry_and_neutral_colors(): assert circle.call_args.args[:3] == (1684, 171, 96) -@pytest.mark.parametrize("speed,size", [(65, 58), (105, 58)]) +@pytest.mark.parametrize("speed,size", [(65, 50), (105, 42)]) def test_compact_us_sign_keeps_camera_visible_at_saved_position(speed, size): document = default_document() document["layouts"]["compact"]["speed_limit"].update(x=200, y=30) @@ -547,12 +547,12 @@ def test_compact_us_sign_keeps_camera_visible_at_saved_position(speed, size): with patch.object(rl, "draw_rectangle_rounded") as fill, \ patch.object(rl, "draw_rectangle_rounded_lines_ex") as outline: hud._speed_limit_sign(state) - fill.assert_called_once() + fill.assert_not_called() outline.assert_called_once() rect = outline.call_args.args[0] - assert (rect.x, rect.y, rect.width, rect.height) == (202, 32, 114, 128) + assert (rect.x, rect.y, rect.width, rect.height) == (210, 38, 100, 116) assert [(call.args[0], call.args[2]) for call in foreground_calls(fonts.draw)] == [("SPEED", 20), ('LIMIT', 20), (str(speed), size)] - assert foreground_calls(fonts.draw)[0].args[3:5] == (254, 41) + assert foreground_calls(fonts.draw)[0].args[3:5] == (255, 48) def test_compact_drag_keeps_animation_state_and_separate_origins(): diff --git a/openpilot/starpilot/ui/tests/test_onroad_parity.py b/openpilot/starpilot/ui/tests/test_onroad_parity.py index ed71d69d23..97977ad237 100644 --- a/openpilot/starpilot/ui/tests/test_onroad_parity.py +++ b/openpilot/starpilot/ui/tests/test_onroad_parity.py @@ -186,7 +186,7 @@ def test_valid_vision_limit_has_persistent_sign_without_action_receipt(): shown = replace(road(), appearance=replace(road().appearance, show_speed_limit_sign=True), speed_limit=valid) with patch.object(rl, 'draw_rectangle_rounded') as fill, patch.object(rl, 'draw_rectangle_rounded_lines_ex') as outline: renderer._speed_limit_sign(shown) - fill.assert_called_once() + fill.assert_not_called() outline.assert_called_once() assert [call.args[0] for call in foreground_calls(fonts.draw)] == ['SPEED', 'LIMIT', '55'] outline.reset_mock() @@ -194,9 +194,10 @@ def test_valid_vision_limit_has_persistent_sign_without_action_receipt(): outline.assert_not_called() renderer._speed_limit_sign(replace(road(speed_limit=valid), appearance=replace(shown.appearance, show_speed_limit_sign=False))) outline.assert_not_called() - with patch.object(renderer._speed_limit_widget.shapes, 'circle') as circle: + with patch.object(rl, 'draw_circle') as circle, patch.object(rl, 'draw_ring') as ring: renderer._speed_limit_sign(replace(shown, appearance=replace(shown.appearance, use_vienna_sign=True))) circle.assert_called_once() + ring.assert_called_once() def test_pending_confirmation_omits_redundant_speed_heading(): diff --git a/openpilot/starpilot/ui/tests/test_slc_retention.py b/openpilot/starpilot/ui/tests/test_slc_retention.py index e95883d518..2c2ed3f422 100644 --- a/openpilot/starpilot/ui/tests/test_slc_retention.py +++ b/openpilot/starpilot/ui/tests/test_slc_retention.py @@ -2,6 +2,7 @@ from dataclasses import replace from pathlib import Path +import struct from unittest.mock import Mock, patch import pytest @@ -26,6 +27,13 @@ from openpilot.starpilot.ui.unified_speed_presentation import resolve_unified_sp MPH = .44704 +def published_cruise_mph(mph, *, software_target=True): + """Expected card precision, then the Float32 carState wire seen by the planner.""" + kph = round(round(mph) * 1.609344, 1) if software_target else mph * 1.609344 + wire_kph, = struct.unpack('