mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-08 13:33:42 +08:00
80fbb4f6db
Register vehicle controls, planner modes, UI actions and Galaxy services after their providers exist. Wire the shared runtime entrypoints and cover their combined behavior. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Daniel Koepping <elkoled@gmail.com> Co-authored-by: Danny <dannyirwin31@yahoo.com> Co-authored-by: DimitriChrysafis <Dimitri.chrysafis@gmail.com> Co-authored-by: Dom <168790843+firestar5683@users.noreply.github.com> Co-authored-by: Harald Schäfer <harald.the.engineer@gmail.com> Co-authored-by: Kacper Rączy <gfw.kra@gmail.com> Co-authored-by: Prabhaav Pillai <prabhaav@msu.edu> Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com> Co-authored-by: firestarsdog <229254897+firestarsdog@users.noreply.github.com> Co-authored-by: stef <19478336+stefpi@users.noreply.github.com> Co-authored-by: whoisdomi <dcantu83@gmail.com> Co-authored-by: Intelli <contact@intelli.software> Co-authored-by: haraschax <6804392+haraschax@users.noreply.github.com> Co-authored-by: prabhaavp <prabhaav@msu.edu>
22 lines
1.2 KiB
Python
22 lines
1.2 KiB
Python
from types import SimpleNamespace
|
|
|
|
from openpilot.selfdrive.controls.plannerd import traffic_observation
|
|
|
|
|
|
def test_current_decision_stamp_preserves_raw_provenance_and_denies_unknown_authority():
|
|
verdict = SimpleNamespace(effective=True, requested=True, profile_mode=True, reason='active', source_mono_ns=1)
|
|
observed = traffic_observation(verdict, model_ns=1_000_000_000)
|
|
assert observed.value is True and observed.observed_mono_ns == 1_000_000_000
|
|
assert verdict.source_mono_ns == 1
|
|
for reason in ('authority_unavailable', 'can_unavailable', 'settings_unavailable'):
|
|
verdict.effective, verdict.requested, verdict.profile_mode, verdict.reason = None, False, False, reason
|
|
assert traffic_observation(verdict, model_ns=1_000_000_000) is None
|
|
verdict.effective, verdict.requested, verdict.profile_mode, verdict.reason = None, True, None, 'authority_unavailable'
|
|
assert traffic_observation(verdict, model_ns=1_000_000_000) is None
|
|
assert traffic_observation(None, model_ns=1_000_000_000) is None
|
|
assert traffic_observation(None, model_ns=0, owner_present=False) is None
|
|
|
|
verdict.reason = 'unsupported_car'
|
|
verdict.requested, verdict.profile_mode = False, False
|
|
assert traffic_observation(verdict, model_ns=1_000_000_000).value is False
|