From d4d22adf4013c8c576db301a0f2bc84d823b9fa6 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 27 Apr 2023 14:08:41 -0700 Subject: [PATCH] runtests: add a runner initialization function This sets up the runner environment to start running tests. Ref: #10818 --- tests/runner.pm | 23 +++++++++++++++++++++++ tests/runtests.pl | 30 ++++++++++++++---------------- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/tests/runner.pm b/tests/runner.pm index feaa4e5298..737f24d602 100644 --- a/tests/runner.pm +++ b/tests/runner.pm @@ -36,6 +36,7 @@ BEGIN { checktestcmd prepro restore_test_env + runner_init runner_clearlocks runner_stopservers runner_test_preprocess @@ -117,6 +118,28 @@ sub stderrfilename { return "$logdir/stderr$testnum"; } +####################################################################### +# Initialize the runner and prepare it to run tests +# +sub runner_init { + my ($logdir)=@_; + + # Set this directory as ours + # TODO: This will need to be uncommented once there are multiple runners + #$LOGDIR = $logdir; + mkdir("$LOGDIR/$PIDDIR", 0777); + + # enable memory debugging if curl is compiled with it + $ENV{'CURL_MEMDEBUG'} = "$LOGDIR/$MEMDUMP"; + $ENV{'CURL_ENTROPY'}="12345678"; + $ENV{'CURL_FORCETIME'}=1; # for debug NTLM magic + $ENV{'CURL_GLOBAL_INIT'}=1; # debug curl_global_init/cleanup use + $ENV{'HOME'}=$pwd; + $ENV{'CURL_HOME'}=$ENV{'HOME'}; + $ENV{'XDG_CONFIG_HOME'}=$ENV{'HOME'}; + $ENV{'COLUMNS'}=79; # screen width! +} + ####################################################################### # Check for a command in the PATH of the machine running curl. # diff --git a/tests/runtests.pl b/tests/runtests.pl index 3958d4911e..6ffa032be4 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -182,16 +182,6 @@ sub logmsg { } } -# enable memory debugging if curl is compiled with it -$ENV{'CURL_MEMDEBUG'} = "$LOGDIR/$MEMDUMP"; -$ENV{'CURL_ENTROPY'}="12345678"; -$ENV{'CURL_FORCETIME'}=1; # for debug NTLM magic -$ENV{'CURL_GLOBAL_INIT'}=1; # debug curl_global_init/cleanup use -$ENV{'HOME'}=$pwd; -$ENV{'CURL_HOME'}=$ENV{'HOME'}; -$ENV{'XDG_CONFIG_HOME'}=$ENV{'HOME'}; -$ENV{'COLUMNS'}=79; # screen width! - sub catch_zap { my $signame = shift; logmsg "runtests.pl received SIG$signame, exiting\n"; @@ -2231,7 +2221,6 @@ if ($gdbthis) { cleardir($LOGDIR); mkdir($LOGDIR, 0777); -mkdir("$LOGDIR/$PIDDIR", 0777); ####################################################################### # initialize some variables @@ -2468,11 +2457,7 @@ sub displaylogs { } ####################################################################### -# Setup CI Test Run -citest_starttestrun(); - -####################################################################### -# The main test-loop +# Scan tests to find suitable candidates # my $failed; @@ -2504,6 +2489,19 @@ if($listonly) { exit(0); } +####################################################################### +# Setup CI Test Run +citest_starttestrun(); + +####################################################################### +# Initialize the runner to prepare to run tests +cleardir($LOGDIR); +mkdir($LOGDIR, 0777); +runner_init($LOGDIR); + +####################################################################### +# The main test-loop +# # run through each candidate test and execute it foreach my $testnum (@runtests) { $count++;