This commit is contained in:
firestar5683
2026-08-14 21:38:09 -05:00
parent 21ba6ab7cd
commit c2e2c24e8c
10 changed files with 193 additions and 31 deletions
+3 -2
View File
@@ -88,7 +88,8 @@ def allow_logging(started: bool, params: Params, CP: car.CarParams, starpilot_to
return not starpilot_toggles.no_logging
def allow_uploads(started: bool, params: Params, CP: car.CarParams, starpilot_toggles: SimpleNamespace) -> bool:
return params.get_bool("AlwaysAllowUploads") or not starpilot_toggles.no_uploads or starpilot_toggles.no_onroad_uploads
return (params.get_bool("AlwaysAllowUploads") or not starpilot_toggles.no_uploads or
(starpilot_toggles.no_onroad_uploads and not started))
def run_speed_limit_filler(started: bool, params: Params, CP: car.CarParams, starpilot_toggles: SimpleNamespace) -> bool:
return starpilot_toggles.speed_limit_filler
@@ -227,7 +228,7 @@ procs = [
PythonProcess("hardwared", "system.hardware.hardwared", always_run),
PythonProcess("tombstoned", "system.tombstoned", always_run, enabled=not PC),
PythonProcess("updated", "system.updated.updated", always_run, enabled=not PC),
PythonProcess("uploader", "system.loggerd.uploader", allow_uploads),
PythonProcess("uploader", "system.loggerd.uploader", allow_uploads, nice=19),
PythonProcess("statsd", "system.statsd", always_run),
PythonProcess("feedbackd", "selfdrive.ui.feedback.feedbackd", only_onroad),
@@ -0,0 +1,38 @@
from types import SimpleNamespace
import pytest
from cereal import car
from openpilot.system.manager.process_config import allow_uploads, managed_processes
class FakeParams:
def __init__(self, always_allow_uploads: bool = False):
self.always_allow_uploads = always_allow_uploads
def get_bool(self, key: str) -> bool:
assert key == "AlwaysAllowUploads"
return self.always_allow_uploads
@pytest.mark.parametrize(
"started,no_uploads,no_onroad_uploads,always_allow_uploads,expected",
[
(True, False, False, False, True),
(False, False, False, False, True),
(True, True, False, False, False),
(False, True, False, False, False),
(True, True, True, False, False),
(False, True, True, False, True),
(True, True, False, True, True),
],
)
def test_allow_uploads(started, no_uploads, no_onroad_uploads, always_allow_uploads, expected):
params = FakeParams(always_allow_uploads)
toggles = SimpleNamespace(no_uploads=no_uploads, no_onroad_uploads=no_onroad_uploads)
assert allow_uploads(started, params, car.CarParams.new_message(), toggles) is expected
def test_uploader_runs_at_background_priority():
assert managed_processes["uploader"].nice == 19