mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
Extension and fixture tests for ACPX (plugin entry and advertised-model runtime), the Anthropic CLI process/runtime, Diagnostics Prometheus install, Discord voice runtime, iMessage native handoff, memory-core dreaming narrative, the ONNX worker client, the voice-call tunnel, WhatsApp auto-reply/inbound media/send, OpenShell, and the shared SQLite sessions/transcripts flip proof polled files, PIDs, and process groups against 1-60 s wall-clock waits, so a fixture child or worker that outlasted the bound on a loaded host failed the test. Extensions import withinTest, awaitGateBeforeSettlement, and the fixture-receipt channel only through the local-only openclaw/plugin-sdk/test-fixtures facade (plus public extension-shared / error-runtime subpaths), never test/helpers. Waits now await held-classification receipts with durable event logs, owned close/exit promises, and existing callbacks; exact process-group extinction that no owner exposes keeps one deadline-free check bound to the test signal. Twelve sites that need a host-to-child release, an acknowledged socket flush, a worker BroadcastChannel receipt outside the facade, or Gateway managed-tree joins with TERM-to-KILL escalation stay unchanged. The Anthropic CLI stderr descendant now lives until terminated, so a missing transport tree kill cannot pass by natural expiry (negative control proven). No product source, test timeout, product timeout, or assertion meaning changed. Part of the polling audit from #162274. Proof on Blacksmith Testbox: 320/320 standalone runs (cli-process.test.ts re-proven 20/20 after the descendant fix), 51/51 unit owner replays plus 3/3 owning-bundle replays on the final head, the changed Gateway E2E files passing in every Gateway shard replay (unrelated untouched-test failures there are tracked separately), extension and root tsgo, extension test boundary, plugin SDK import lints, deadcode, OpenGrep, type-aware lint, base-aware timeout-race ratchet; Codex autoreview clean.
15 lines
783 B
TypeScript
15 lines
783 B
TypeScript
// SQLite sessions/transcripts flip proof test runs the script-style gateway lifecycle probe.
|
|
import { describe, it } from "vitest";
|
|
import { withEnvAsync } from "../../src/test-utils/env.js";
|
|
import { assertSqliteFlipProofCore } from "../helpers/sqlite-sessions-transcripts-flip-proof-assertions.ts";
|
|
import { runSqliteSessionsTranscriptsFlipProof } from "../helpers/sqlite-sessions-transcripts-flip-proof.ts";
|
|
|
|
describe("SQLite sessions/transcripts flip proof harness", () => {
|
|
it("proves isolated gateway lifecycle state stays SQLite-first", async ({ signal }) => {
|
|
const report = await withEnvAsync({ ZAI_API_KEY: "ambient-provider-fixture" }, () =>
|
|
runSqliteSessionsTranscriptsFlipProof({ signal }),
|
|
);
|
|
|
|
assertSqliteFlipProofCore(report);
|
|
}, 420_000);
|
|
});
|