From 4b9529fc4b04a82806f9a054bee6aedbda3eadb9 Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 30 Jan 2011 00:21:20 -0500 Subject: The test suite dislikes USE_READLINE. There's a lot of copying of stdin to stdout when using readline for -be, which breaks the test suite. The suite now runs well enough for me to fix the stuff broken by the debugging changes I introduced. --- test/README | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/README b/test/README index b93deb4c5..2a1a79cc6 100644 --- a/test/README +++ b/test/README @@ -115,6 +115,9 @@ 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. + OPTIONAL EXTRAS -- cgit v1.2.3 From ebd9bd7d2ef66379770eb415b360b6b880784f7b Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 30 Jan 2011 03:04:52 -0500 Subject: macros_trusted overriden message only if debugging. DEBUG(D_any) missing. Fixed. --- src/src/exim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 } -- cgit v1.2.3 From 8f1cff481ae440b8ced8601cd2a2134714580d3c Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 30 Jan 2011 03:13:21 -0500 Subject: Test suite mostly clean for 4.73/4.74. With this, I can run the test suite with few enough differences that I can review and confirm, getting as far as Basic/0094. Pretty much just dealing with new stderr from debugging. --- test/runtest | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) 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() { +RESET_AFTER_EXTRA_LINE_READ: # Check for "*** truncated ***" $yield = 1 if /\*\*\* truncated \*\*\*/; @@ -737,6 +738,33 @@ while() 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) { + $_ = ; + 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. -- cgit v1.2.3 From 8121f0285d4ce30921cf4924d615a143bfdfb956 Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 30 Jan 2011 03:34:31 -0500 Subject: sudo !tty_tickets; correct config file list. sudo needs to permit sudo w/o a TTY. The config file used is the same for each test, the individual config files are made available under a particular name. Correct that advice. --- test/README | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/README b/test/README index 2a1a79cc6..bdd840a66 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" @@ -140,7 +146,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. -- cgit v1.2.3 From daea6332b53f56a0b40fce545e0e242d8d779b17 Mon Sep 17 00:00:00 2001 From: Phil Pennock Date: Sun, 30 Jan 2011 03:44:24 -0500 Subject: Testing: Exim must not use HEADERS_CHARSET UTF-8. Failed at test 178. --- test/README | 1 + 1 file changed, 1 insertion(+) diff --git a/test/README b/test/README index bdd840a66..5404488d2 100644 --- a/test/README +++ b/test/README @@ -123,6 +123,7 @@ In order to run this test suite, the following requirements must be met: (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. -- cgit v1.2.3