mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-03 11:09:55 +08:00
Display regression expectations
This commit is contained in:
@@ -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():
|
||||
|
||||
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user