Add testsuite case retry (without update) option on failed file compare.
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 22 Apr 2012 13:32:03 +0000 (14:32 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 22 Apr 2012 13:32:03 +0000 (14:32 +0100)
test/README
test/runtest

index 2a61503..b6d06e5 100644 (file)
@@ -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:
index 31aaaa9..c199539 100755 (executable)
@@ -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;