projects
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b5eb014
)
Make runtest more resilient to setup problems
author
Phil Pennock
<pdp@exim.org>
Mon, 10 Oct 2011 00:34:40 +0000
(20:34 -0400)
committer
Phil Pennock
<pdp@exim.org>
Mon, 10 Oct 2011 00:34:40 +0000
(20:34 -0400)
test/runtest
patch
|
blob
|
blame
|
history
diff --git
a/test/runtest
b/test/runtest
index 0cc7b05fec616ef53c6eed00fc03c734db501ac1..4f1d18edb8634726f7a6aa72f246452a06fcfe63 100755
(executable)
--- a/
test/runtest
+++ b/
test/runtest
@@
-2032,7
+2032,13
@@
if ($parm_exim eq "")
# Find what is in the binary #
##################################################
# Find what is in the binary #
##################################################
-open(EXIMINFO, "$parm_exim -C $parm_cwd/confs/0000 -DDIR=$parm_cwd " .
+# deal with TRUSTED_CONFIG_LIST restrictions
+unlink("$parm_cwd/test-config") if -e "$parm_cwd/test-config";
+symlink("$parm_cwd/confs/0000", "$parm_cwd/test-config")
+ or die "Unable to link initial config into place: $!\n";
+
+print("Probing with config file: $parm_cwd/test-config\n");
+open(EXIMINFO, "$parm_exim -d -C $parm_cwd/test-config -DDIR=$parm_cwd " .
"-bP exim_user exim_group|") ||
die "** Cannot run $parm_exim: $!\n";
while(<EXIMINFO>)
"-bP exim_user exim_group|") ||
die "** Cannot run $parm_exim: $!\n";
while(<EXIMINFO>)
@@
-2047,6
+2053,13
@@
if (defined $parm_eximuser)
if ($parm_eximuser =~ /^\d+$/) { $parm_exim_uid = $parm_eximuser; }
else { $parm_exim_uid = getpwnam($parm_eximuser); }
}
if ($parm_eximuser =~ /^\d+$/) { $parm_exim_uid = $parm_eximuser; }
else { $parm_exim_uid = getpwnam($parm_eximuser); }
}
+else
+ {
+ print "Unable to extract exim_user from binary.\n";
+ print "Check if Exim refused to run; if so, consider:\n";
+ print " TRUSTED_CONFIG_LIST ALT_CONFIG_PREFIX WHITELIST_D_MACROS\n";
+ die "Failing to get information from binary.\n";
+ }
if (defined $parm_eximgroup)
{
if (defined $parm_eximgroup)
{
@@
-2054,7
+2067,7
@@
if (defined $parm_eximgroup)
else { $parm_exim_gid = getgrnam($parm_eximgroup); }
}
else { $parm_exim_gid = getgrnam($parm_eximgroup); }
}
-open(EXIMINFO, "$parm_exim -bV -C $parm_cwd/
confs/0000
-DDIR=$parm_cwd |") ||
+open(EXIMINFO, "$parm_exim -bV -C $parm_cwd/
test-config
-DDIR=$parm_cwd |") ||
die "** Cannot run $parm_exim: $!\n";
print "-" x 78, "\n";
die "** Cannot run $parm_exim: $!\n";
print "-" x 78, "\n";
@@
-2131,6
+2144,7
@@
while (<EXIMINFO>)
close(EXIMINFO);
print "-" x 78, "\n";
close(EXIMINFO);
print "-" x 78, "\n";
+unlink("$parm_cwd/test-config");
##################################################
# Check for SpamAssassin and ClamAV #
##################################################
# Check for SpamAssassin and ClamAV #
@@
-2412,6
+2426,12
@@
$parm_caller_group = getgrgid($parm_caller_gid);
print "Program caller is $parm_caller, whose group is $parm_caller_group\n";
print "Home directory is $parm_caller_home\n";
print "Program caller is $parm_caller, whose group is $parm_caller_group\n";
print "Home directory is $parm_caller_home\n";
+unless (defined $parm_eximgroup)
+ {
+ print "Unable to derive \$parm_eximgroup.\n";
+ die "** ABANDONING.\n";
+ }
+
print "You need to be in the Exim group to run these tests. Checking ...";
if (`groups` =~ /\b\Q$parm_eximgroup\E\b/)
print "You need to be in the Exim group to run these tests. Checking ...";
if (`groups` =~ /\b\Q$parm_eximgroup\E\b/)
@@
-3229,4
+3249,4
@@
tests_exit(-1, "No runnable tests selected") if @test_list == 0;
tests_exit(0);
# End of runtest script
tests_exit(0);
# End of runtest script
-
+# vim: set sw=2 :