Hoppa till huvudinnehåll

Tester

  • Fullständigt testpaket (sviter, live, Docker): Testing
  • pnpm test:force: Dödar varje kvardröjande gateway-process som håller den förvalda kontrollporten, kör sedan hela Vitest-sviten med en isolerad gateway-port så att servertester inte kolliderar med en körande instans. Använd detta när en tidigare gateway kör vänster port 18789 ockuperad.
  • pnpm test:coverage: Kör enhetstestsviten med V8-täckning (via vitest.unit.config.ts). Globala tröskelvärden är 70% linjer/grenar/funktioner/uttalanden. Täckning utesluter integration-tunga ingångspunkter (CLI-ledningar, gateway/telegram broar, webchat statisk server) för att hålla målet fokuserat på enhetstestbar logik.
  • pnpm test på Node 24+: OpenClaw inaktiverar automatiskt Vitest vmForks och använder forks för att undvika ERR_VM_MODULE_LINK_FAILURE / module is already linked. Du kan framtvinga beteendet med OPENCLAW_TEST_VM_FORKS=0|1.
  • pnpm test:e2e: Kör gateway end-to-end-röktester (parning av flera instanser via WS/HTTP/node). Använder som standard vmForks + adaptiva workers i vitest.e2e.config.ts; justera med OPENCLAW_E2E_WORKERS=<n> och sätt OPENCLAW_E2E_VERBOSE=1 för utförliga loggar.
  • pnpm test: live: Kör leverantör live-tester (minimax/zai). Kräver API-nycklar och LIVE=1 (eller leverantörsspecifik *_LIVE_TEST=1) för att avhoppa.

Modellens latensbenchmark (lokala nycklar)

Skript: scripts/bench-model.ts Användning:
  • source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
  • Valfria miljövariabler: MINIMAX_API_KEY, MINIMAX_BASE_URL, MINIMAX_MODEL, ANTHROPIC_API_KEY
  • Standardprompt: “Svara med ett enda ord: ok. Ingen skiljetecken eller extra text.”
Senaste körning (2025-12-31, 20 körningar):
  • minimax median 1279 ms (min 1114, max 2431)
  • opus median 2454 ms (min 1224, max 3170)

Onboarding E2E (Docker)

Docker är valfritt; detta behövs endast för containeriserade onboarding-röktester. Fullt kallstartsflöde i en ren Linux-container:
scripts/e2e/onboard-docker.sh
Detta skript driver den interaktiva guiden via en pseudo-tty, verifierar konfig-/arbetsyt-/sessionsfiler, startar sedan gateway och kör openclaw health.

QR-import röktest (Docker)

Säkerställer att qrcode-terminal laddas under Node 22+ i Docker:
pnpm test:docker:qr