diff options
Diffstat (limited to 'test/bun.js/child-process-stdio.test.js')
-rw-r--r-- | test/bun.js/child-process-stdio.test.js | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/test/bun.js/child-process-stdio.test.js b/test/bun.js/child-process-stdio.test.js deleted file mode 100644 index 43bcc771a..000000000 --- a/test/bun.js/child-process-stdio.test.js +++ /dev/null @@ -1,113 +0,0 @@ -import { describe, it, expect, beforeAll } from "bun:test"; -import { spawn, execSync } from "node:child_process"; -import { bunExe } from "bunExe"; -import { bunEnv } from "bunEnv"; - -const CHILD_PROCESS_FILE = import.meta.dir + "/spawned-child.js"; -const OUT_FILE = import.meta.dir + "/stdio-test-out.txt"; - -describe("process.stdout", () => { - it("should allow us to write to it", done => { - const child = spawn(bunExe(), [CHILD_PROCESS_FILE, "STDOUT"], { - env: bunEnv, - }); - child.stdout.setEncoding("utf8"); - child.stdout.on("data", data => { - try { - expect(data).toBe("stdout_test"); - done(); - } catch (err) { - done(err); - } - }); - }); -}); - -describe("process.stdin", () => { - it("should allow us to read from stdin in readable mode", done => { - const input = "hello\n"; - // Child should read from stdin and write it back - const child = spawn(bunExe(), [CHILD_PROCESS_FILE, "STDIN", "READABLE"], { - env: bunEnv, - }); - let data = ""; - child.stdout.setEncoding("utf8"); - child.stdout - .on("data", chunk => { - data += chunk; - }) - .on("end", function () { - try { - expect(data).toBe(`data: ${input}`); - done(); - } catch (err) { - done(err); - } - }); - child.stdin.write(input); - child.stdin.end(); - }); - - it("should allow us to read from stdin via flowing mode", done => { - const input = "hello\n"; - // Child should read from stdin and write it back - const child = spawn(bunExe(), [CHILD_PROCESS_FILE, "STDIN", "FLOWING"], { - env: bunEnv, - }); - let data = ""; - child.stdout.setEncoding("utf8"); - child.stdout - .on("readable", () => { - let chunk; - while ((chunk = child.stdout.read()) !== null) { - data += chunk; - } - }) - .on("end", function () { - try { - expect(data).toBe(`data: ${input}`); - done(); - } catch (err) { - done(err); - } - }); - child.stdin.write(input); - child.stdin.end(); - }); - - it("should allow us to read > 65kb from stdin", done => { - const numReps = Math.ceil((66 * 1024) / 5); - const input = "hello".repeat(numReps); - // Child should read from stdin and write it back - const child = spawn(bunExe(), [CHILD_PROCESS_FILE, "STDIN", "FLOWING"], { - env: bunEnv, - }); - let data = ""; - child.stdout.setEncoding("utf8"); - child.stdout - .on("readable", () => { - let chunk; - while ((chunk = child.stdout.read()) !== null) { - data += chunk; - } - }) - .on("end", function () { - try { - expect(data).toBe(`data: ${input}`); - done(); - } catch (err) { - done(err); - } - }); - child.stdin.write(input); - child.stdin.end(); - }); - - it("should allow us to read from a file", () => { - const result = execSync(`${bunExe()} ${CHILD_PROCESS_FILE} STDIN FLOWING < ${import.meta.dir}/readFileSync.txt`, { - encoding: "utf8", - env: bunEnv, - }); - expect(result).toEqual("data: File read successfully"); - }); -}); |