feat: improve mode and peripheral orchestration

This commit is contained in:
Miayui
2026-09-21 00:13:47 +08:00
parent 89707a42e2
commit 448c8b31a0
39 changed files with 3068 additions and 277 deletions
+42
View File
@@ -554,6 +554,48 @@ class DriverSeatNativeCanTests(unittest.TestCase):
self.assertEqual(bus.send_calls, 4)
self.assertEqual(len(bus.sent), 3)
def test_window_already_at_target_is_verified_success_without_resend(self) -> None:
config = self.runtime.build_function_config(
"window",
[
{
"domain": "window",
"capability": "window.set_position",
"target": "rear_left",
"operation": "set",
"parameters": {"position_pct": 0},
}
],
"req-window-already-closed",
"local_rules",
)
plan = self.runtime.compile(config)
feedback = CanFrame(
0x388,
bytes.fromhex("00 00 01 00 01 00 66 00"),
channel=1,
is_fd=True,
bitrate_switch=True,
)
bus = _FakeBus([feedback])
report = NativeCanExecutor(
lambda: bus,
feedback_timeout_ms=1,
feedback_required=False,
).execute(self.runtime, plan, config)
self.assertEqual(report["spec"]["status"], "succeeded")
operation = report["spec"]["results"][0]
self.assertEqual(operation["status"], "succeeded")
self.assertEqual(operation["telemetry"]["sent_frames"], [])
self.assertEqual(
operation["telemetry"]["verification_status"],
"verified_success",
)
self.assertEqual(operation["telemetry"]["delivery_status"], "not_required")
self.assertTrue(operation["telemetry"]["physical_effect_confirmed"])
def test_memory_compile_rejects_missing_or_malformed_learned_slots(self) -> None:
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / "driver_memory.json"