diff mbox series

[V2,06/16] src/locktest.c: Fix return code if last test fails

Message ID 20190923175336.2287-7-ira.weiny@intel.com (mailing list archive)
State New, archived
Headers show
Series Fix locktest and add lease testing to it | expand

Commit Message

Ira Weiny Sept. 23, 2019, 5:53 p.m. UTC
From: Ira Weiny <ira.weiny@intel.com>

If anything but the first step of the last test fails, the exit code
(fail_count) was not properly set.  Fix this such that follow on patches
will be able to save error output and correctly inform the script that a
failure has occurred rather than just expecting random output to fail
the diff check.

The issue is last_test is not properly tracking which test the loop is
currently on.  Therefore fail_count would not be incremented correctly.

Remove the special case of checking for the end of the steps array and
track last_test properly.  Then adjust test_count to be correct for the
new code.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 src/locktest.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)
diff mbox series

Patch

diff --git a/src/locktest.c b/src/locktest.c
index 3abb91120144..241e7c451724 100644
--- a/src/locktest.c
+++ b/src/locktest.c
@@ -963,7 +963,7 @@  main(int argc, char *argv[])
     int end = 0;
     int result = 0;
     int last_test = 0;
-    int test_count = 0;
+    int test_count = -1;
     int fail_flag = 0;
     while(!end) {
 	if (server) {
@@ -1058,15 +1058,13 @@  main(int argc, char *argv[])
 		    }
 		}
 	    }
-	    if(tests[index][TEST_NUM] != 0) {
-		if(last_test != tests[index][TEST_NUM]) {
-		    test_count++;
-		    if(fail_flag)
-			fail_count++;
-		    fail_flag = 0;
 
-		}
-		last_test = tests[index][TEST_NUM];
+	    if(last_test != tests[index][TEST_NUM]) {
+	        test_count++;
+	        if(fail_flag)
+		    fail_count++;
+	        fail_flag = 0;
+	        last_test = tests[index][TEST_NUM];
 	    }
 		
 	    index++;
@@ -1126,9 +1124,8 @@  main(int argc, char *argv[])
 		fprintf(stderr,"client: sending result to server (%d)\n", ctl.index);
 	    /* Send result to the server */
 	    send_ctl();
-	    if(tests[index][TEST_NUM] != 0) {
-		if(last_test != tests[index][TEST_NUM])
-		    test_count++;
+	    if(last_test != tests[index][TEST_NUM]) {
+		test_count++;
 		last_test = tests[index][TEST_NUM];
 	    }
 	}