run-tests: Avoid starting a shell to spawn test processes
All checks were successful
Build and test / build (push) Successful in 2m9s
All checks were successful
Build and test / build (push) Successful in 2m9s
This commit is contained in:
parent
cdab3dea90
commit
eab44307f0
@ -24,7 +24,13 @@ Result<int> luna_main(int argc, char** argv)
|
|||||||
for (const auto& program : files)
|
for (const auto& program : files)
|
||||||
{
|
{
|
||||||
auto command = TRY(String::format("%s/%s"_sv, test_dir.chars(), program.chars()));
|
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)
|
if (WEXITSTATUS(status) != 0)
|
||||||
{
|
{
|
||||||
os::Process::kill(1, SIGQUIT); // Tell init to report a failed test run.
|
os::Process::kill(1, SIGQUIT); // Tell init to report a failed test run.
|
||||||
|
Loading…
Reference in New Issue
Block a user