Files
firestar5683 8436e41731 HE'S BACK
2026-08-01 15:36:09 -05:00

70 lines
1.6 KiB
Python

from openpilot.common.params import UnknownKeyName
from openpilot.starpilot.common.safe_mode import (
SAFE_MODE_BACKUP_PARAM,
SAFE_MODE_MANAGED_KEYS,
apply_safe_mode,
restore_safe_mode,
_apply_value,
)
class RemovedParamStore:
def get(self, key):
raise UnknownKeyName(key)
class FakeParamStore:
def __init__(self, values=None):
self.values = dict(values or {})
def get(self, key):
return self.values.get(key)
def get_stock_value(self, key):
return None
def put(self, key, value):
self.values[key] = value
def put_bool(self, key, value):
self.values[key] = bool(value)
def remove(self, key):
self.values.pop(key, None)
def test_apply_value_ignores_removed_param():
assert not _apply_value(RemovedParamStore(), "RemovedParam", "stale value")
def test_safe_mode_does_not_manage_manual_fingerprint():
assert "ForceFingerprint" not in SAFE_MODE_MANAGED_KEYS
def test_safe_mode_migrates_saved_manual_fingerprint_out_of_backup():
params = FakeParamStore()
params_raw = FakeParamStore({
"ForceFingerprint": False,
SAFE_MODE_BACKUP_PARAM: {
"ForceFingerprint": {"present": True, "value": True},
},
})
apply_safe_mode(params, params_raw)
assert params_raw.get("ForceFingerprint") is True
assert "ForceFingerprint" not in params_raw.get(SAFE_MODE_BACKUP_PARAM)
def test_safe_mode_restore_ignores_stale_manual_fingerprint_backup():
params_raw = FakeParamStore({
"ForceFingerprint": True,
SAFE_MODE_BACKUP_PARAM: {
"ForceFingerprint": {"present": True, "value": False},
},
})
restore_safe_mode(params_raw)
assert params_raw.get("ForceFingerprint") is True