diff options
-rw-r--r-- | src/src/exim.c | 2 | ||||
-rw-r--r-- | test/README | 12 | ||||
-rwxr-xr-x | test/runtest | 28 |
3 files changed, 40 insertions, 2 deletions
diff --git a/src/src/exim.c b/src/src/exim.c index b3035ca7c..cf48c04b3 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -1281,7 +1281,7 @@ for (m = macros; m != NULL; m = m->next) return FALSE; } } -debug_printf("macros_trusted overriden to true by whitelisting\n"); +DEBUG(D_any) debug_printf("macros_trusted overriden to true by whitelisting\n"); return TRUE; #endif } diff --git a/test/README b/test/README index b93deb4c5..5404488d2 100644 --- a/test/README +++ b/test/README @@ -69,6 +69,12 @@ In order to run this test suite, the following requirements must be met: tracks the two users independently. Using the same user would result in false positives on some tests. + Further, some tests invoke sudo in an environment where there might not be + a TTY, so tickets should be global, not per-TTY. Taking this all together + and assuming a user of "exim-build", you might have this in sudoers: + + Defaults:exim-build timestamp_timeout=480,!tty_tickets + (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 names "userx", "usery", "userz", or a few other simple ones such as "abcd" @@ -115,6 +121,10 @@ In order to run this test suite, the following requirements must be met: DIR:EXIM_PATH:AA:ACL:ACLRCPT:ACL_MAIL:ACL_PREDATA:ACL_RCPT:AFFIX:ALLOW:ARG1:ARG2:AUTHF:AUTHS:AUTH_ID_DOMAIN:BAD:BANNER:BB:BR:BRB:CERT:COM:COMMAND_USER:CONNECTCOND:CONTROL:CREQCIP:CREQMAC:CRL:CSS:D6:DATA:DCF:DDF:DEFAULTDWC:DELAY:DETAILS:DRATELIMIT:DYNAMIC_OPTION:ELI:ERROR_DETAILS:ERT:FAKE:FALLBACK:FILTER:FILTER_PREPEND_HOME:FORBID:FORBID_SMTP_CODE:FUSER:HAI:HAP:HARDLIMIT:HEADER_LINE_MAXSIZE:HEADER_MAXSIZE:HELO_MSG:HL:HOSTS:HOSTS_AVOID_TLS:HOSTS_MAX_TRY:HVH:IFACE:IGNORE_QUOTA:INC:INSERT:IP1:IP2:LAST:LDAPSERVERS:LENCHECK:LIMIT:LIST:LOG_SELECTOR:LS:MAXNM:MESSAGE_LOGS:MSIZE:NOTDAEMON:ONCE:ONLY:OPT:OPTION:ORDER:PAH:PEX:PORT:PTBC:QDG:QOLL:QUOTA:QUOTA_FILECOUNT:QWM:RCPT_MSG:REMEMBER:REQUIRE:RETRY:RETRY1:RETRY2:RETURN:RETURN_ERROR_DETAILS:REWRITE:ROUTE_DATA:RRATELIMIT:RT:S:SELECTOR:SELF:SERVER:SERVERS:SREQCIP:SREQMAC:SRV:STD:STRICT:SUB:SUBMISSION_OPTIONS:TIMEOUTDEFER:TIMES:TRUSTED:TRYCLEAR:UL:USE_SENDER:UTF8:VALUE:WMF:X:Y +(10) Exim must *not* be built with USE_READLINE, as the test-suite's automation + assumes the simpler I/O model. + Exim must *not* be built with HEADERS_CHARSET set to UTF-8. + OPTIONAL EXTRAS @@ -137,7 +147,7 @@ RUNNING THE TEST SUITE (3) Run "./configure" and then "make". This builds a few auxiliary programs that are written in C. -(4) ls -1 $PWD/confs/* >> your_TRUSTED_CONFIG_LIST_filename +(4) echo $PWD/test-config >> your_TRUSTED_CONFIG_LIST_filename (5) Run "./runtest" (a Perl script) as described below. diff --git a/test/runtest b/test/runtest index d70b98c64..324049fc0 100755 --- a/test/runtest +++ b/test/runtest @@ -299,6 +299,7 @@ $spid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; while(<IN>) { +RESET_AFTER_EXTRA_LINE_READ: # Check for "*** truncated ***" $yield = 1 if /\*\*\* truncated \*\*\*/; @@ -737,6 +738,33 @@ while(<IN>) next if /OpenSSL compile-time version: OpenSSL \d+[\.\da-z]+/; next if /OpenSSL runtime version: OpenSSL \d+[\.\da-z]+/; + # drop lookups + next if /^Lookups \(built-in\):/; + next if /^Total \d+ lookups/; + + # and the ugly bit + # different libraries will have different numbers (possibly 0) of follow-up + # lines, indenting with more data + if (/^Library version:/) { + while (1) { + $_ = <IN>; + next if /^\s/; + goto RESET_AFTER_EXTRA_LINE_READ; + } + } + + # drop other build-time controls emitted for debugging + next if /^WHITELIST_D_MACROS:/; + next if /^TRUSTED_CONFIG_LIST:/; + + # As of Exim 4.74, we log when a setgid fails; because we invoke Exim + # with -be, privileges will have been dropped, so this will always + # be the case + next if /^changing group to \d+ failed: Operation not permitted/; + + # We invoke Exim with -D, so we hit this new messag as of Exim 4.73: + next if /^macros_trusted overriden to true by whitelisting/; + # We have to omit the localhost ::1 address so that all is well in # the IPv4-only case. |