aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/child-process-stdio.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/bun.js/child-process-stdio.test.js')
-rw-r--r--test/bun.js/child-process-stdio.test.js113
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");
- });
-});