

























@@ -351,6 +351,25 @@ describe("Parallels smoke model selection", () => {
351351).toBe(false);
352352});
353353354+it("rejects short flags as Parallels smoke option values", () => {
355+const cases = [
356+[TS_PATHS.linux, "--mode", "-h"],
357+[TS_PATHS.macos, "--vm", "-h"],
358+[TS_PATHS.windows, "--model", "-h"],
359+[TS_PATHS.npmUpdate, "--target-tarball", "-h"],
360+];
361+362+for (const [scriptPath, flag, value] of cases) {
363+const result = spawnNodeEvalSync(
364+`process.argv = ["node", "${scriptPath}", "${flag}", "${value}"]; await import("./${scriptPath}");`,
365+{ env: process.env, imports: ["tsx"] },
366+);
367+368+expect(result.status).toBe(1);
369+expect(result.stderr).toContain(`error: ${flag} requires a value`);
370+}
371+});
372+354373it("keeps provider auth and model defaults in the shared TypeScript helper", () => {
355374const providerAuth = readFileSync(TS_PATHS.providerAuth, "utf8");
356375此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。