瀏覽代碼

test(app): fix e2e

Adam 1 月之前
父節點
當前提交
f7f2d9700a
共有 1 個文件被更改,包括 24 次插入11 次删除
  1. 24 11
      packages/app/script/e2e-local.ts

+ 24 - 11
packages/app/script/e2e-local.ts

@@ -111,20 +111,33 @@ await log.Log.init({
 })
 
 const servermod = await import("../../opencode/src/server/server")
+const inst = await import("../../opencode/src/project/instance")
 const server = servermod.Server.listen({ port: serverPort, hostname: "127.0.0.1" })
 console.log(`opencode server listening on http://127.0.0.1:${serverPort}`)
 
-try {
-  await waitForHealth(`http://127.0.0.1:${serverPort}/global/health`)
+const result = await (async () => {
+  try {
+    await waitForHealth(`http://127.0.0.1:${serverPort}/global/health`)
 
-  const runner = Bun.spawn(["bun", "test:e2e", ...extraArgs], {
-    cwd: appDir,
-    env: runnerEnv,
-    stdout: "inherit",
-    stderr: "inherit",
-  })
+    const runner = Bun.spawn(["bun", "test:e2e", ...extraArgs], {
+      cwd: appDir,
+      env: runnerEnv,
+      stdout: "inherit",
+      stderr: "inherit",
+    })
+
+    return { code: await runner.exited }
+  } catch (error) {
+    return { error }
+  } finally {
+    await inst.Instance.disposeAll()
+    await server.stop()
+  }
+})()
 
-  process.exitCode = await runner.exited
-} finally {
-  await server.stop()
+if ("error" in result) {
+  console.error(result.error)
+  process.exit(1)
 }
+
+process.exit(result.code)