From 0954730646ad035175a977093efce1510b1dc461 Mon Sep 17 00:00:00 2001 From: Filip Tibell Date: Fri, 25 Apr 2025 15:53:07 +0200 Subject: [PATCH] Try actually writing the stdin to stdout in powershell --- tests/process/exec/stdin.luau | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/process/exec/stdin.luau b/tests/process/exec/stdin.luau index fbf0498..87962a4 100644 --- a/tests/process/exec/stdin.luau +++ b/tests/process/exec/stdin.luau @@ -2,12 +2,13 @@ local process = require("@lune/process") local expected = "Hello from child process!" --- NOTE: This requires "bash" to be installed even for Windows --- users, testing a simple cat from stdin to stdout using pwsh --- has unfortunately proved to be a significant challenge... local options = { stdio = { stdin = expected } } local result = if process.os == "windows" - then process.exec("powershell", { "-Command", "[System.Console]::In.ReadToEnd()" }, options) + then process.exec( + "powershell", + { "-Command", "[System.Console]::Write([System.Console]::In.ReadToEnd())" }, + options + ) else process.exec("bash", { "-c", "cat" }, options) local resultStdout = result.stdout @@ -15,5 +16,7 @@ resultStdout = string.gsub(resultStdout, "^%s+", "") -- Trim leading whitespace resultStdout = string.gsub(resultStdout, "%s+$", "") -- Trim trailing whitespace assert( resultStdout == expected, - "Stdin passing did not return proper output!" .. `\nExpected: {expected}` .. `\nReceived: {resultStdout}` + "Passing a string to stdin did not return the expected output!" + .. `\nExpected: {expected}` + .. `\nReceived: {resultStdout}` )