lune/tests/process/exec/basic.luau

28 lines
832 B
Text

local process = require("@lune/process")
local stdio = require("@lune/stdio")
local task = require("@lune/task")
-- Executing a command should work, with options
local thread = task.delay(1, function()
stdio.ewrite("Spawning a process should take a reasonable amount of time\n")
task.wait(1)
process.exit(1)
end)
local IS_WINDOWS = process.os == "windows"
local result = process.exec(
if IS_WINDOWS then "cmd" else "ls",
if IS_WINDOWS then { "/c", "dir" } else { "-a" }
)
task.cancel(thread)
assert(result.ok, "Failed to spawn child process")
assert(result.stderr == "", "Stderr was not empty")
assert(result.stdout ~= "", "Stdout was empty")
assert(string.find(result.stdout, "Cargo.toml") ~= nil, "Missing Cargo.toml in output")
assert(string.find(result.stdout, ".gitignore") ~= nil, "Missing .gitignore in output")