fix(qa): return slack smoke failure screenshot · openclaw/openclaw@51fea38
vincentkoc
·
2026-05-04
·
via Recent Commits to openclaw:main
File tree
extensions/qa-lab/src/mantis
| Original file line number | Diff line number | Diff line change |
|---|
@@ -24,6 +24,7 @@ Docs: https://docs.openclaw.ai
|
24 | 24 | - QA/Mantis: add a `pnpm openclaw qa mantis discord-smoke` runner and manual GitHub workflow that verify the Mantis Discord bot can see the configured guild/channel, post a smoke message, add a reaction, and upload artifacts. |
25 | 25 | - QA/Mantis: add `pnpm openclaw qa mantis slack-desktop-smoke` to run Slack live QA inside a Crabbox VNC desktop, open Slack Web, and capture desktop screenshots beside the Slack QA artifacts. |
26 | 26 | - QA/Mantis: pass the runtime env through desktop-browser Crabbox and artifact-copy child commands, so embedded Mantis callers can provide Crabbox credentials without mutating the parent process. Thanks @vincentkoc. |
| 27 | +- QA/Mantis: return the copied Slack desktop screenshot path even when remote Slack QA fails, so the CLI still prints the failure screenshot artifact. Thanks @vincentkoc. |
27 | 28 | - QA/Slack: add a Slack live transport QA runner with canary and mention-gating coverage for the private bot-to-bot harness. Thanks @vincentkoc. |
28 | 29 | - Gateway/performance: lazy-load the heavy cron runtime after the rest of Gateway startup, defer restart-sentinel refresh after readiness, and let the Gateway startup benchmark write per-run V8 CPU profiles with `--cpu-prof-dir`. |
29 | 30 | - Gateway/performance: keep raw channel-config schema parsing from discovering bundled plugin runtime metadata, and add `pnpm gateway:watch --benchmark-no-force` for profiling startup without the default port cleanup. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -162,6 +162,7 @@ describe("mantis Slack desktop smoke runtime", () => {
|
162 | 162 | }); |
163 | 163 | |
164 | 164 | expect(result.status).toBe("fail"); |
| 165 | +expect(result.screenshotPath).toBe(path.join(result.outputDir, "slack-desktop-smoke.png")); |
165 | 166 | await expect( |
166 | 167 | fs.readFile(path.join(result.outputDir, "slack-desktop-smoke.png"), "utf8"), |
167 | 168 | ).resolves.toBe("png"); |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -768,6 +768,7 @@ export async function runMantisSlackDesktopSmoke(
|
768 | 768 | return { |
769 | 769 | outputDir, |
770 | 770 | reportPath, |
| 771 | + screenshotPath, |
771 | 772 | status: "fail", |
772 | 773 | summaryPath, |
773 | 774 | }; |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。