run-tests: Avoid starting a shell to spawn test processes
All checks were successful
Build and test / build (push) Successful in 2m9s

This commit is contained in:
apio 2024-03-14 12:37:59 +01:00
parent cdab3dea90
commit eab44307f0
Signed by: apio
GPG Key ID: B8A7D06E42258954

View File

@ -24,7 +24,13 @@ Result<int> luna_main(int argc, char** argv)
for (const auto& program : files)
{
auto command = TRY(String::format("%s/%s"_sv, test_dir.chars(), program.chars()));
int status = system(command.chars());
StringView args[] = { command.view() };
auto pid = TRY(os::Process::spawn(args[0], Slice<StringView> { args, 1 }, false));
int status;
TRY(os::Process::wait(pid, &status));
if (WEXITSTATUS(status) != 0)
{
os::Process::kill(1, SIGQUIT); // Tell init to report a failed test run.