mirror of
https://github.com/curl/curl.git
synced 2026-07-15 23:57:20 +03:00
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:
parent
b214acbb0c
commit
72b163c301
4 changed files with 23 additions and 4 deletions
|
|
@ -99,6 +99,7 @@ use testutil qw(
|
|||
clearlogs
|
||||
logmsg
|
||||
runclient
|
||||
exerunner
|
||||
shell_quote
|
||||
subbase64
|
||||
subsha256base64file
|
||||
|
|
@ -935,6 +936,8 @@ sub singletest_run {
|
|||
return (-1, 0, 0, "", "", 0);
|
||||
}
|
||||
|
||||
$CMDLINE=exerunner() . $CMDLINE;
|
||||
|
||||
if($bundle) {
|
||||
$CMDLINE.=" $tool_name";
|
||||
}
|
||||
|
|
@ -971,7 +974,7 @@ sub singletest_run {
|
|||
}
|
||||
|
||||
if(!$tool) {
|
||||
$CMDLINE=shell_quote($CURL);
|
||||
$CMDLINE=exerunner() . shell_quote($CURL);
|
||||
if((!$cmdhash{'option'}) || ($cmdhash{'option'} !~ /no-q/)) {
|
||||
$CMDLINE .= " -q";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ sub checksystemfeatures {
|
|||
|
||||
my $curlverout="$LOGDIR/curlverout.log";
|
||||
my $curlvererr="$LOGDIR/curlvererr.log";
|
||||
my $versioncmd=shell_quote($CURL) . " --version 1>$curlverout 2>$curlvererr";
|
||||
my $versioncmd=exerunner() . shell_quote($CURL) . " --version 1>$curlverout 2>$curlvererr";
|
||||
|
||||
unlink($curlverout);
|
||||
unlink($curlvererr);
|
||||
|
|
@ -2531,7 +2531,7 @@ if(!$randseed) {
|
|||
# seed of the month. December 2019 becomes 201912
|
||||
$randseed = ($year+1900)*100 + $mon+1;
|
||||
print "Using curl: $CURL\n";
|
||||
open(my $curlvh, "-|", shell_quote($CURL) . " --version 2>$dev_null") ||
|
||||
open(my $curlvh, "-|", exerunner() . shell_quote($CURL) . " --version 2>$dev_null") ||
|
||||
die "could not get curl version!";
|
||||
my @c = <$curlvh>;
|
||||
close($curlvh) || die "could not get curl version!";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ BEGIN {
|
|||
runclient
|
||||
runclientoutput
|
||||
setlogfunc
|
||||
exerunner
|
||||
shell_quote
|
||||
subbase64
|
||||
subnewlines
|
||||
|
|
@ -208,6 +209,15 @@ sub runclientoutput {
|
|||
# return @out;
|
||||
}
|
||||
|
||||
#######################################################################
|
||||
# Return custom tool (e.g. wine or qemu) to run curl binaries.
|
||||
#
|
||||
sub exerunner {
|
||||
if($ENV{'CURL_TEST_EXE_RUNNER'}) {
|
||||
return $ENV{'CURL_TEST_EXE_RUNNER'} . ' ';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
#######################################################################
|
||||
# Quote an argument for passing safely to a Bourne shell
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue