summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2012-04-22 14:32:03 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2012-04-22 14:32:03 +0100
commitcc442294b8c9abfd87bdcb8019574f4e1ed23ea9 (patch)
tree0e1dedcdbdceb3fc87dc23ce38d8898211f8b3cd /test
parent479576532b1f3c2ce5370b2f0a21c58f2c643918 (diff)
Add testsuite case retry (without update) option on failed file compare.
Diffstat (limited to 'test')
-rw-r--r--test/README6
-rwxr-xr-xtest/runtest7
2 files changed, 8 insertions, 5 deletions
diff --git a/test/README b/test/README
index 2a61503a2..b6d06e540 100644
--- a/test/README
+++ b/test/README
@@ -361,7 +361,7 @@ default, the output is from the "cf" program, and might look like this:
1 difference found.
"test-stdout-munged" contains 16 lines; "stdout/1300" contains 18 lines.
- Continue, Update & retry, Quit? [Q]
+ Continue, Retry, Update & retry, Quit? [Q]
This example was generated by running the test with a version of Exim
that had a bug in the exim_dbmbuild utility (the bug was fixed at release
@@ -370,7 +370,7 @@ used. In this case, the standard output differed from what was expected.
The reply to the prompt must either be empty, in which case it takes the
default that is given in brackets (in this case Q), or a single letter, in
-upper or lower case (in this case, one of C, U, or Q). If you type anything
+upper or lower case (in this case, one of C, R, U, or Q). If you type anything
else, the prompt is repeated.
"Continue" carries on as if the files had matched; that is, it ignores the
@@ -380,6 +380,8 @@ moving on to the next test.
"Update & retry" copies the new file to the saved file, and reruns the test
after doing any further comparisons that may be necessary.
+"Retry" does the same apart from the file copy.
+
Other circumstances give rise to other prompts. If a test generates output for
which there is no saved data, the prompt (after a message stating which file is
unexpectely not empty) is:
diff --git a/test/runtest b/test/runtest
index 31aaaa902..c199539a5 100755
--- a/test/runtest
+++ b/test/runtest
@@ -938,7 +938,7 @@ if ($_[1]) { $_ = "u"; print "... update forced\n"; }
# [4] TRUE if this is a log file whose deliveries must be sorted
#
# Returns: 0 comparison succeeded or differences to be ignored
-# 1 comparison failed; files were updated (=> re-compare)
+# 1 comparison failed; files may have been updated (=> re-compare)
#
# Does not return if the user replies "Q" to a prompt.
@@ -1096,9 +1096,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);
}
}
@@ -1130,7 +1131,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;