fix: send Keil build as structured argv

This commit is contained in:
root
2026-07-21 01:05:47 +02:00
parent 988c3ff8c8
commit e0d08aecae
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -142,9 +142,9 @@ test("hwpod-compiler-cli generates Keil build and download commands from structu
assert.equal(build.exitCode, 0);
assert.equal(build.payload.plan.ops[0].op, "debug.build");
assert.equal(build.payload.plan.ops[0].args.target, "USART");
assert.equal(build.payload.plan.ops[0].args.commandRun.command, "py");
assert.deepEqual(build.payload.plan.ops[0].args.commandRun.argv.slice(0, 5), ["-3", "C:\\Users\\liang\\.agents\\skills\\keil\\keil-cli.py", "build", "-p", "F:\\Work\\D601-HWLAB\\projects\\01_baseline\\Projects\\MDK-ARM\\atk_f103.uvprojx"]);
assert.deepEqual(build.payload.plan.ops[0].args.commandRun.argv.slice(-2), ["-t", "USART"]);
assert.equal(build.payload.plan.ops[0].args.commandRuns[0].command, "py");
assert.deepEqual(build.payload.plan.ops[0].args.commandRuns[0].argv.slice(0, 5), ["-3", "C:\\Users\\liang\\.agents\\skills\\keil\\keil-cli.py", "build", "-p", "F:\\Work\\D601-HWLAB\\projects\\01_baseline\\Projects\\MDK-ARM\\atk_f103.uvprojx"]);
assert.deepEqual(build.payload.plan.ops[0].args.commandRuns[0].argv.slice(-2), ["-t", "USART"]);
assert.match(build.payload.plan.ops[0].args.command, /^py -3 C:\\Users\\liang\\\.agents\\skills\\keil\\keil-cli\.py build -p/u);
assert.match(build.payload.plan.ops[0].args.command, /F:\\Work\\D601-HWLAB\\projects\\01_baseline\\Projects\\MDK-ARM\\atk_f103\.uvprojx/u);
assert.match(build.payload.plan.ops[0].args.command, / -t USART$/u);
+1 -1
View File
@@ -740,7 +740,7 @@ function debugBuildOps(common: any, args: any, document: any) {
reason: text(args.reason)
});
if (generated?.commandRun) {
return [{ op: "debug.build", args: clean({ ...opArgs, commandRun: generated.commandRun, command: generated.command }) }];
return [{ op: "debug.build", args: clean({ ...opArgs, commandRuns: [generated.commandRun], command: generated.command }) }];
}
return [{ op: "debug.build", args: clean({ ...opArgs, command: explicitCommand || generated?.command }) }];
}