summaryrefslogtreecommitdiff
path: root/tests/specs/node/stdio_ipc
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-06-07 22:51:32 +0530
committerGitHub <noreply@github.com>2024-06-07 22:51:32 +0530
commit3735a1a54225a058914f4356c2d271bb12fab6a7 (patch)
treeb7c21736a0f2daa1ac659d8a82e34f572c7c7ae9 /tests/specs/node/stdio_ipc
parented20102713dd3269629b8e329f62d081be506430 (diff)
fix(ext/node): support stdin child_process IPC & fd stdout/stderr (#24106)
Add supports for "ipc" and fd options in child_process spawn API. Internal changes: Adds a hidden rid and "ipc_for_internal_use" option to Deno.Command. Used by `node:child_process` Example: ```js const out = fs.openSync("./logfile.txt", 'a') const proc = spawn(process.execPath, ["./main.mjs", "child"], { stdio: ["ipc", out, "inherit"] }); ``` Ref #16753
Diffstat (limited to 'tests/specs/node/stdio_ipc')
-rw-r--r--tests/specs/node/stdio_ipc/__test__.jsonc5
-rw-r--r--tests/specs/node/stdio_ipc/main.mjs16
-rw-r--r--tests/specs/node/stdio_ipc/main.out1
3 files changed, 22 insertions, 0 deletions
diff --git a/tests/specs/node/stdio_ipc/__test__.jsonc b/tests/specs/node/stdio_ipc/__test__.jsonc
new file mode 100644
index 000000000..8ec9880fd
--- /dev/null
+++ b/tests/specs/node/stdio_ipc/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run -A main.mjs",
+ "output": "main.out",
+ "exitCode": 0
+}
diff --git a/tests/specs/node/stdio_ipc/main.mjs b/tests/specs/node/stdio_ipc/main.mjs
new file mode 100644
index 000000000..4a1a8ddbd
--- /dev/null
+++ b/tests/specs/node/stdio_ipc/main.mjs
@@ -0,0 +1,16 @@
+import { spawn } from "node:child_process";
+import process from "node:process";
+
+if (process.argv[2] === "child") {
+ process.send("hahah");
+} else {
+ const proc = spawn(process.execPath, ["./main.mjs", "child"], {
+ stdio: ["ipc", "inherit", "inherit"],
+ });
+
+ proc.on("message", function (msg) {
+ console.log(`msg: ${msg}`);
+ proc.kill();
+ Deno.exit(0);
+ });
+}
diff --git a/tests/specs/node/stdio_ipc/main.out b/tests/specs/node/stdio_ipc/main.out
new file mode 100644
index 000000000..7979ca2eb
--- /dev/null
+++ b/tests/specs/node/stdio_ipc/main.out
@@ -0,0 +1 @@
+msg: hahah