Files
StarPilot/starpilot/system/tests/test_starpilot_tracking.py
T
firestar5683 f501a4de37 nighty night
2026-08-28 00:01:11 -05:00

48 lines
1.5 KiB
Python

from datetime import UTC, datetime
from openpilot.starpilot.system.starpilot_tracking import StarPilotTracking
class FakeParams:
def __init__(self):
self.writes = []
def put(self, key, value):
self.writes.append((key, value))
def test_flush_persists_time_since_last_checkpoint():
params = FakeParams()
tracking = StarPilotTracking.__new__(StarPilotTracking)
tracking.params = params
tracking.starpilot_stats = {"StarPilotMeters": 1000}
tracking.tracked_time = 12.5
tracking.previously_enabled = True
tracking.drive_added = False
tracking.model_name = "test-model"
tracking.flush(datetime(2026, 8, 27, tzinfo=UTC), time_validated=True)
assert tracking.tracked_time == 0
assert tracking.starpilot_stats["StarPilotSeconds"] == 12.5
assert tracking.starpilot_stats["TrackedTime"] == 12.5
assert tracking.starpilot_stats["ModelTimes"] == {"test-model": 12.5}
assert tracking.starpilot_stats["StarPilotDrives"] == 1
assert params.writes == [("StarPilotStats", dict(sorted(tracking.starpilot_stats.items())))]
def test_flush_does_not_count_a_drive_without_star_pilot_engagement():
params = FakeParams()
tracking = StarPilotTracking.__new__(StarPilotTracking)
tracking.params = params
tracking.starpilot_stats = {"StarPilotMeters": 1000}
tracking.tracked_time = 12.5
tracking.previously_enabled = False
tracking.drive_added = False
tracking.model_name = "test-model"
tracking.flush()
assert tracking.tracked_time == 12.5
assert params.writes == []