Просмотр исходного кода

fix(opencode): normalize CLI test line endings

Dax Raad 2 месяцев назад
Родитель
Сommit
23fd5907be
1 измененных файлов с 8 добавлено и 4 удалено
  1. 8 4
      packages/opencode/test/lib/cli-process.ts

+ 8 - 4
packages/opencode/test/lib/cli-process.ts

@@ -237,8 +237,8 @@ export function withCliFixture<A, E>(
       )
       return {
         exitCode: result.exitCode,
-        stdout: result.stdout.toString(),
-        stderr: result.stderr.toString(),
+        stdout: normalizeLines(result.stdout.toString()),
+        stderr: normalizeLines(result.stderr.toString()),
         durationMs: Date.now() - start,
       }
     })
@@ -299,8 +299,8 @@ export function withCliFixture<A, E>(
         interrupt: () => proc.kill("SIGINT"),
         result: Effect.promise(async () => ({
           exitCode: await proc.exited,
-          stdout: await stdout,
-          stderr: await stderr,
+          stdout: normalizeLines(await stdout),
+          stderr: normalizeLines(await stderr),
           durationMs: Date.now() - start,
         })),
       } satisfies RunHandle
@@ -479,6 +479,10 @@ function parseJsonEvents(stdout: string): Array<Record<string, unknown>> {
     .map((line) => JSON.parse(line) as Record<string, unknown>)
 }
 
+function normalizeLines(value: string) {
+  return value.replaceAll("\r\n", "\n")
+}
+
 // Convenience for the common assertion pattern. Dumps stderr/stdout when
 // the exit code doesn't match — saves debugging time on CI failures.
 function expectExit(result: RunResult, expected: number, label = "opencode") {