X-Git-Url: https://git.exim.org/buildfarm-client.git/blobdiff_plain/ac33516340c1e465a1dd8e84049c1fb907fd921b..HEAD:/run_build diff --git a/run_build b/run_build index a476bdb..711edac 100755 --- a/run_build +++ b/run_build @@ -1035,13 +1035,30 @@ sub make_test { return unless step_wanted('test'); print time_str(),"running make test ...\n" if $verbose; + my $tests_range = $EximBuild::conf{range_num_tests} || "1 4"; + # backwards compat for build-farm.conf from before this support was added + $EximBuild::conf{test_configure_env} = {} unless exists $EximBuild::conf{test_configure_env}; + $EximBuild::conf{test_configure_args} = [] unless exists $EximBuild::conf{test_configure_args}; + $EximBuild::conf{test_run_args} = "" unless exists $EximBuild::conf{test_run_args}; + my @makeout; - @makeout =`(cd $exim/test && ./configure && $make )2>&1 `; + my %saved_env = %ENV; + foreach my $k (keys %{$EximBuild::conf{test_configure_env}}) { + $ENV{$k} = $EximBuild::conf{test_configure_env}{$k}; + } + my $conf_args = ''; + foreach (@{$EximBuild::conf{test_configure_args}}) { + s/'/'"'"'/g; + $conf_args .= " '${_}'"; + } + @makeout =`(cd $exim/test && ./configure $conf_args && $make )2>&1 `; + %ENV = %saved_env; + my $status = $? >>8; unless($status) { - my @tmp = `(cd $exim/test && ./runtest -CONTINUE $tests_range )2>&1`; + my @tmp = `(cd $exim/test && ./runtest -CONTINUE $EximBuild::conf{test_run_args} $tests_range )2>&1`; $status = $? >>8; push @makeout, @tmp; # Prepend the failed summary log outputs for ease of reading @@ -1191,11 +1208,11 @@ sub configure @tmp = `cd $exim echo echo "Contents of Local/Makefile:" - egrep '^[^#]' $local_conf `; + grep -E '^[^#]' $local_conf `; push @confout, @tmp; # Build the config_opts array to send to the server chomp @tmp; - my @config_opts = grep s/(?:LOOKUP_|EXPERIMENTAL_|USE_)(\S+)=.*/$1/, + my @config_opts = grep s/(?:LOOKUP_|EXPERIMENTAL_|SUPPORT_|USE_)(\S+)=.*/$1/, @tmp; push @config_opts, grep s/^(?:EXIM_)(PERL|PYTHON)=.*/$1/, @tmp;