From d31d6a3470d51a887ad9b8d0121c729ec555412b Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Fri, 14 Sep 2018 18:15:37 -0700 Subject: [PATCH] Support tuning the tests ./configure When OpenSSL headers are not in standard search paths, we can need to adjust the configure for the tests. We can adjust just `$ENV` but that risks interactions with the Exim build itself. Provide new tunables to handle it instead. --- build-farm.conf.template | 3 +++ run_build | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/build-farm.conf.template b/build-farm.conf.template index a2745d2..9aed6b6 100644 --- a/build-farm.conf.template +++ b/build-farm.conf.template @@ -220,6 +220,9 @@ our %conf =( qw() ], + # Configuration tuning for test suite ./configure + test_configure_env =>{}, + test_configure_args =>[], ); if ($branch eq 'global') diff --git a/run_build b/run_build index 04c7fee..2d2b1ef 100755 --- a/run_build +++ b/run_build @@ -1035,9 +1035,25 @@ 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}; + 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) { -- 2.30.2