From: Ira Weiny Date: Mon, 23 Sep 2019 17:53:26 +0000 (-0700) Subject: src/locktest.c: Fix return code if last test fails X-Git-Tag: v2022.05.01~1024 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=8deddd16f4d3769304766cbdbdc3350063c1e541 src/locktest.c: Fix return code if last test fails 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 Signed-off-by: Ira Weiny Signed-off-by: Eryu Guan --- diff --git a/src/locktest.c b/src/locktest.c index e2f9c8e3..ab7463e4 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]; } }