From 55c45412e0b6eec51d55b663ac5dd561be3a0e08 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 21 Jul 2026 11:07:35 +0200 Subject: [PATCH] fix: preserve UART backend for read plans --- tools/hwpod-harness.test.ts | 2 ++ tools/src/hwpod-harness-lib.ts | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/hwpod-harness.test.ts b/tools/hwpod-harness.test.ts index b400c420..cf8df463 100644 --- a/tools/hwpod-harness.test.ts +++ b/tools/hwpod-harness.test.ts @@ -275,6 +275,8 @@ test("hwpod-cli dry-run invokes hwpod-compiler-cli and exposes hwpod-node-ops pl "--spec", specPath ], { now: () => NOW }); + const pyserialRead = await runHwpodCli(["uart", "read", "--spec", specPath, "--port", "uart1", "--dry-run"], { now: () => NOW }); + assert.equal(pyserialRead.payload.plan.ops[0].args.uartBackend, "pyserial"); const uartOpen = await runHwpodCli(["uart", "open", "--spec", specPath, "--port", "uart1", "--dry-run"], { now: () => NOW }); assert.equal(uartOpen.payload.plan.ops[0].op, "io.uart.open"); assert.equal(uartOpen.payload.plan.ops[0].args.port, "COM9"); diff --git a/tools/src/hwpod-harness-lib.ts b/tools/src/hwpod-harness-lib.ts index 08920d85..d9744d38 100644 --- a/tools/src/hwpod-harness-lib.ts +++ b/tools/src/hwpod-harness-lib.ts @@ -1018,7 +1018,7 @@ function keilJobStatusCommand(args: any, document: any) { function serialMonitorReadCommand(args: any, document: any) { const binding = serialMonitorBinding(args, document); - const { requestedPort, physicalPort, baudRate, serialMonitorDir, commandBase, timeoutMs } = binding; + const { requestedPort, backend, physicalPort, baudRate, serialMonitorDir, commandBase, timeoutMs } = binding; const limit = Math.max(1, Math.min(numberValue(args.limit) ?? Math.ceil((numberValue(args.maxBytes) ?? 4096) / 80), 200)); const fetchArgs = ["fetch", "-l", String(limit), ...(args.sessionOnly === true ? ["--session-only"] : []), ...(text(args.since) ? ["-s", text(args.since)] : [])]; const sequenceRun = jsonCliSequenceCommandRun([ @@ -1026,6 +1026,7 @@ function serialMonitorReadCommand(args: any, document: any) { [...commandBase, ...fetchArgs] ]); return { + backend, physicalPort, baudRate, serialMonitorDir,