




















@@ -45,6 +45,7 @@ const {
4545 runQaCredentialsListCommand,
4646 runQaCredentialsRemoveCommand,
4747 runQaCoverageReportCommand,
48+ runQaJsonlReplayCommand,
4849 runQaProviderServerCommand,
4950 runQaSuiteCommand,
5051 runQaTelegramCommand,
@@ -58,6 +59,7 @@ const {
5859runQaCredentialsListCommand: vi.fn(),
5960runQaCredentialsRemoveCommand: vi.fn(),
6061runQaCoverageReportCommand: vi.fn(),
62+runQaJsonlReplayCommand: vi.fn(),
6163runQaProviderServerCommand: vi.fn(),
6264runQaSuiteCommand: vi.fn(),
6365runQaTelegramCommand: vi.fn(),
@@ -113,6 +115,7 @@ vi.mock("./cli.runtime.js", () => ({
113115 runQaCredentialsListCommand,
114116 runQaCredentialsRemoveCommand,
115117 runQaCoverageReportCommand,
118+ runQaJsonlReplayCommand,
116119 runQaProviderServerCommand,
117120 runQaSuiteCommand,
118121}));
@@ -128,6 +131,7 @@ describe("qa cli registration", () => {
128131runQaCredentialsListCommand.mockReset();
129132runQaCredentialsRemoveCommand.mockReset();
130133runQaCoverageReportCommand.mockReset();
134+runQaJsonlReplayCommand.mockReset();
131135runQaProviderServerCommand.mockReset();
132136runQaSuiteCommand.mockReset();
133137runQaTelegramCommand.mockReset();
@@ -480,6 +484,33 @@ describe("qa cli registration", () => {
480484});
481485});
482486487+it("routes JSONL replay flags into the qa runtime command", async () => {
488+await program.parseAsync([
489+"node",
490+"openclaw",
491+"qa",
492+"jsonl-replay",
493+"--repo-root",
494+"/tmp/openclaw-repo",
495+"--transcripts",
496+"qa/scenarios/jsonl-replay",
497+"--runtime-pair",
498+"pi,codex",
499+"--provider-mode",
500+"mock-openai",
501+"--output-dir",
502+".artifacts/qa-e2e/jsonl-replay-test",
503+]);
504+505+expect(runQaJsonlReplayCommand).toHaveBeenCalledWith({
506+repoRoot: "/tmp/openclaw-repo",
507+transcripts: "qa/scenarios/jsonl-replay",
508+runtimePair: "pi,codex",
509+providerMode: "mock-openai",
510+outputDir: ".artifacts/qa-e2e/jsonl-replay-test",
511+});
512+});
513+483514it("delegates discovered qa runner registration through the generic host seam", () => {
484515const [{ registration }] = listQaRunnerCliContributions.mock.results[0]?.value;
485516expect(registration.register).toHaveBeenCalledTimes(1);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。