diff --git a/extensions/memory-core/src/memory/manager.watcher-config.test.ts b/extensions/memory-core/src/memory/manager.watcher-config.test.ts index 8b9020eefdd..362cf135348 100644 --- a/extensions/memory-core/src/memory/manager.watcher-config.test.ts +++ b/extensions/memory-core/src/memory/manager.watcher-config.test.ts @@ -42,11 +42,6 @@ const { createdWatchers, watchMock } = vi.hoisted(() => { return result; }); -vi.mock("chokidar", () => ({ - default: { watch: watchMock }, - watch: watchMock, -})); - vi.mock("./sqlite-vec.js", () => ({ loadSqliteVecExtension: async () => ({ ok: false, error: "sqlite-vec disabled in tests" }), })); diff --git a/extensions/openai/openai.live.test.ts b/extensions/openai/openai.live.test.ts index e2bfeac8178..27af5b04fea 100644 --- a/extensions/openai/openai.live.test.ts +++ b/extensions/openai/openai.live.test.ts @@ -277,7 +277,7 @@ describeLive("openai plugin live", () => { const ttsConfig = createLiveTtsConfig(); const synthesized = await speechProvider.synthesize({ - text: "Open claw. Open claw. Integration test OK.", + text: "Speech transcription check okay.", cfg, providerConfig: ttsConfig.providerConfigs.openai ?? {}, target: "audio-file", @@ -295,7 +295,7 @@ describeLive("openai plugin live", () => { const text = (transcription?.text ?? "").toLowerCase(); const collapsedText = text.replace(/[\s-]+/g, ""); expect(text.length).toBeGreaterThan(0); - expect(collapsedText).toContain("openclaw"); + expect(collapsedText).toContain("speechtranscription"); expect(text).toMatch(/\bok(?:ay)?\b/); }, 45_000); diff --git a/extensions/video-generation-providers.live.test.ts b/extensions/video-generation-providers.live.test.ts index e138b039a4b..f1893e3d7f7 100644 --- a/extensions/video-generation-providers.live.test.ts +++ b/extensions/video-generation-providers.live.test.ts @@ -234,6 +234,13 @@ function resolveLiveVideoSkipReason(message: string): string | null { if (isOverloadedErrorMessage(message) || isServerErrorMessage(message)) { return "provider outage"; } + if ( + /HTTP\s+404/i.test(message) && + /Invalid URL/i.test(message) && + /\/platform\/video_gen/i.test(message) + ) { + return "provider endpoint drift"; + } if (/access denied|not authorized|not enabled|permission denied/i.test(message)) { return "provider/model drift"; } diff --git a/scripts/e2e/lib/bundled-channel/setup-entry.sh b/scripts/e2e/lib/bundled-channel/setup-entry.sh index ff35352a7f0..53e767aa186 100644 --- a/scripts/e2e/lib/bundled-channel/setup-entry.sh +++ b/scripts/e2e/lib/bundled-channel/setup-entry.sh @@ -32,7 +32,10 @@ package_root() { echo "Installing mounted OpenClaw package..." package_tgz="${OPENCLAW_CURRENT_PACKAGE_TGZ:?missing OPENCLAW_CURRENT_PACKAGE_TGZ}" -npm install -g "$package_tgz" --no-fund --no-audit >/tmp/openclaw-setup-entry-install.log 2>&1 +if ! npm install -g "$package_tgz" --no-fund --no-audit >/tmp/openclaw-setup-entry-install.log 2>&1; then + cat /tmp/openclaw-setup-entry-install.log >&2 || true + exit 1 +fi root="$(package_root)" for channel in "${!SETUP_ENTRY_DEP_SENTINELS[@]}"; do