summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Jetmore <jetmore@exim.org>2010-07-16 22:53:24 -0400
committerJohn Jetmore <jetmore@exim.org>2010-07-16 22:53:24 -0400
commita56f166d182394d5e339bb50bc1725a3f98c768a (patch)
tree14f90ed22e4e9e7b81e282be982a484b2026c5d4
parent04a45836676516936d791202928e249b711c03ee (diff)
The test architecture can't support having the testsuite user and the Exim user the same. restrict it in runtest and add a note about it in the README
-rw-r--r--test/README5
-rwxr-xr-xtest/runtest6
2 files changed, 9 insertions, 2 deletions
diff --git a/test/README b/test/README
index c1398329d..e9cc10dfb 100644
--- a/test/README
+++ b/test/README
@@ -65,8 +65,9 @@ In order to run this test suite, the following requirements must be met:
Defaults timestamp_timeout=480
in /etc/sudoers, a password lasts for 8 hours (a working day). It is
- probably not a good idea to run the tests as the Exim user, as this is
- recognized as special by Exim.
+ not permitted to run the tests as the Exim user because the test suite
+ tracks the two users independently. Using the same user would result
+ in false positives on some tests.
(3) The login under which you run the tests must be in the exim group so that
it has access to logs, spool files, etc. The login should not be one of the
diff --git a/test/runtest b/test/runtest
index 43b35904e..d65d0b530 100755
--- a/test/runtest
+++ b/test/runtest
@@ -2621,6 +2621,12 @@ if (system("cp $parm_exim_dir/eximstats eximdir") != 0)
print "Exim user is $parm_eximuser ($parm_exim_uid)\n";
print "Exim group is $parm_eximgroup ($parm_exim_gid)\n";
+
+if ($parm_caller_uid eq $parm_exim_uid) {
+ tests_exit(-1, "Exim user ($parm_eximuser,$parm_exim_uid) cannot be "
+ ."the same as caller ($parm_caller,$parm_caller_uid)");
+}
+
print "The Exim user needs access to the test suite directory. Checking ...";
if (($rc = system("sudo bin/checkaccess $parm_cwd/eximdir/exim $parm_eximuser $parm_eximgroup")) != 0)