The test architecture can't support having the testsuite user and the Exim user the...
authorJohn Jetmore <jetmore@exim.org>
Sat, 17 Jul 2010 02:53:24 +0000 (22:53 -0400)
committerJohn Jetmore <jetmore@exim.org>
Sat, 17 Jul 2010 02:53:24 +0000 (22:53 -0400)
test/README
test/runtest

index c1398329df67b430aeac93bf4c08eabe009c92ba..e9cc10dfba9235828248402a8feedb7a1f8d479b 100644 (file)
@@ -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
index 43b35904e2640aa250e74ecab678237915607fef..d65d0b5301ef3fadef9187139ab26f5e7e59be51 100755 (executable)
@@ -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)