Display regression expectations

This commit is contained in:
firestar5683
2026-10-08 00:54:44 -05:00
parent a5ef6002ec
commit 2fde98dab6
2 changed files with 19 additions and 3 deletions
@@ -92,11 +92,15 @@ def test_vision_control_needs_saved_master_and_vision_source_on_exact_long_cp():
(params.root / 'SLCPriority1').write_bytes(b'Dashboard')
(params.root / 'SLCPriority2').write_bytes(b'Vision')
with patch('openpilot.starpilot.feature_runtime.ioniq6_long_eligible', side_effect=lambda cp: cp == 'tagged'):
from openpilot.starpilot.feature_runtime import vision_control_enabled
assert requested(params, 'vision')
assert enabled(params, 'tagged', 'vision', {})
assert not enabled(params, 'stock', 'vision', {})
assert vision_control_enabled(params, 'tagged')
assert not vision_control_enabled(params, 'stock')
(params.root / 'SpeedLimitController').write_bytes(b'0')
assert not enabled(params, 'tagged', 'vision', {})
assert enabled(params, 'tagged', 'vision', {}) # Default-on display still needs its selected Vision producer.
assert not vision_control_enabled(params, 'tagged')
def test_explicit_replay_flags_remain_available_for_existing_replay_fixtures():
+14 -2
View File
@@ -49,17 +49,29 @@ def test_e2e_without_radar_uses_matching_label_and_fails_closed_when_stale():
assert all(lead.info is None and not lead.bar.size for lead in renderer._lead_vehicles)
def test_invalid_numbers_and_mismatched_lane_shapes_do_not_project():
def test_invalid_numbers_and_invalid_path_geometry_do_not_project():
for field, value in [('dRel', float('nan')), ('yRel', float('inf')), ('vRel', 'bad'), ('dRel', -1.)]:
renderer, sm = fixture()
setattr(sm['radarState'].leadOne, field, value)
renderer._update_leads(sm)
renderer._get_lead_bar.assert_not_called()
assert renderer._lead_vehicles[0].info is None
for points in (np.empty((0, 3), dtype=np.float32), np.full((3, 3), np.nan, dtype=np.float32)):
renderer, sm = fixture()
renderer._path.raw_points = points
renderer._update_leads(sm)
renderer._get_lead_bar.assert_not_called()
assert all(lead.info is None and not lead.bar.size for lead in renderer._lead_vehicles)
def test_missing_lane_lines_still_project_using_exact_model_path():
renderer, sm = fixture()
renderer._lane_lines[2].raw_points = np.empty((0, 3), dtype=np.float32)
renderer._update_leads(sm)
renderer._get_lead_bar.assert_not_called()
renderer._get_lead_bar.assert_called_once()
assert renderer._get_lead_bar.call_args.args[0] is renderer._path.raw_points
assert renderer._get_lead_bar.call_args.args[1:] == (20. + native.RADAR_TO_CAMERA, .1)
assert renderer._lead_vehicles[0].info is not None and renderer._lead_vehicles[0].bar.size
def test_brake_and_independent_lateral_availability_retain_snap_and_fade():