[exim-cvs] Add testsuite case retry (without update) option …

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Add testsuite case retry (without update) option on failed file compare.
Gitweb: http://git.exim.org/exim.git/commitdiff/cc442294b8c9abfd87bdcb8019574f4e1ed23ea9
Commit:     cc442294b8c9abfd87bdcb8019574f4e1ed23ea9
Parent:     479576532b1f3c2ce5370b2f0a21c58f2c643918
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Apr 22 14:32:03 2012 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun Apr 22 14:32:03 2012 +0100


    Add testsuite case retry (without update) option on failed file compare.
---
 test/README  |    6 ++++--
 test/runtest |    7 ++++---
 2 files changed, 8 insertions(+), 5 deletions(-)


diff --git a/test/README b/test/README
index 2a61503..b6d06e5 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 31aaaa9..c199539 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;