runtests: support running tests under wine or qemu

To run curl, tests and servers via `wine`:
```shell
export CURL_TEST_EXE_RUNNER=wine
```
runtests prefixes commands with the specified runner. For systems where
this isn't automatic or supported, e.g. macOS.

Closes #16785
This commit is contained in:
Viktor Szakats 2025-03-21 14:39:55 +01:00
parent b214acbb0c
commit 72b163c301
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
4 changed files with 23 additions and 4 deletions

View file

@ -65,6 +65,9 @@ use globalconfig;
use pathhelp qw(
exe_ext
);
use testutil qw(
exerunner
);
our $logfile; # server log file name, for logmsg
@ -251,7 +254,7 @@ sub server_exe {
else {
$cmd = $SRVDIR . $name . exe_ext($ext);
}
return "$cmd";
return exerunner() . "$cmd";
}
@ -270,6 +273,9 @@ sub server_exe_args {
else {
@cmd = ($SRVDIR . $name . exe_ext($ext));
}
if($ENV{'CURL_TEST_EXE_RUNNER'}) {
unshift @cmd, $ENV{'CURL_TEST_EXE_RUNNER'};
}
return @cmd;
}