X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/650ececb91dcf4567d31b0f960d75becf798f9df..2ff4a98a5fa50522b88c892318c46e769e0182cc:/test/runtest diff --git a/test/runtest b/test/runtest index 4543915b0..69c6931b0 100755 --- a/test/runtest +++ b/test/runtest @@ -560,9 +560,9 @@ RESET_AFTER_EXTRA_LINE_READ: s/host\s\Q$parm_ipv4\E\s\[\Q$parm_ipv4\E\]/host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]/; s/host\s\Q$parm_ipv6\E\s\[\Q$parm_ipv6\E\]/host ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6 [ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6]/; s/\b\Q$parm_ipv4\E\b/ip4.ip4.ip4.ip4/g; - s/\b\Q$parm_ipv6\E\b/ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6/g; + s/(^|\W)\K\Q$parm_ipv6\E/ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6/g; s/\b\Q$parm_ipv4r\E\b/ip4-reverse/g; - s/\b\Q$parm_ipv6r\E\b/ip6-reverse/g; + s/(^|\W)\K\Q$parm_ipv6r\E/ip6-reverse/g; s/^(\s+host\s\S+\s+\[\S+\]) +$/$1 /; @@ -593,7 +593,14 @@ RESET_AFTER_EXTRA_LINE_READ: # ======== Output from ls ======== # Different operating systems use different spacing on long output - s/ +/ /g if /^[-rwd]{10} /; + #s/ +/ /g if /^[-rwd]{10} /; + # (Bug 1226) SUSv3 allows a trailing printable char for modified access method control. + # Handle only the Gnu and MacOS space, dot, plus and at-sign. A full [[:graph:]] + # unfortunately matches a non-ls linefull of dashes. + # Allow the case where we've already picked out the file protection bits. + if (s/^([-d](?:[-r][-w][-SsTtx]){3})[.+@]?( +|$)/\1\2/) { + s/ +/ /g; + } # ======== Message sizes ========= @@ -682,6 +689,12 @@ RESET_AFTER_EXTRA_LINE_READ: s/^\d\d\d(?=[PFS*])/ddd/; + # ========= Exim lookups ================== + # Lookups have a char which depends on the number of lookup types compiled in, + # in stderr output. Replace with a "0". Recognising this while avoiding + # other output is fragile; perhaps the debug output should be revised instead. + s%(? re-compare) +# 1 comparison failed; files may have been updated (=> re-compare) # # Does not return if the user replies "Q" to a prompt. @@ -1085,9 +1098,10 @@ if (-e $sf) print "\n"; for (;;) { - interact("Continue, Update & retry, Quit? [Q] ", $force_update); + interact("Continue, Retry, Update & retry, Quit? [Q] ", $force_update); tests_exit(1) if /^q?$/i; return 0 if /^c$/i; + return 1 if /^r$/i; last if (/^u$/i); } } @@ -1119,7 +1133,7 @@ return 1; # # Arguments: none # Returns: 0 if the output compared equal -# 1 if files were updated and the test must be re-run +# 1 if re-run needed (files may have been updated) sub check_output{ my($yield) = 0;