[PATCH libaio 21/28] harness: add support for skipping tests
authorJeff Moyer <jmoyer@redhat.com>
Mon, 29 Jul 2019 17:16:18 +0000 (13:16 -0400)
committerGuillem Jover <guillem@debian.org>
Thu, 24 Dec 2020 14:41:17 +0000 (14:41 +0000)
Skipped tests will not cause the test harness to return failure.  An
exit status of "3" was chosen for skipped tests.  This doesn't
conflict with any of the current tests.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Gbp-Pq: Topic upstream
Gbp-Pq: Name 0021-harness-add-support-for-skipping-tests.patch

harness/main.c
harness/runtests.sh

index 9ecd5da8d2e00eba951ee3b5ec2d8719b2f2ecbd..82e9c6905916842abfad9263a2102c28f68815ac 100644 (file)
@@ -26,15 +26,27 @@ char test_name[] = TEST_NAME;
 int main(void)
 {
        int res;
+       const char *test_result;
 
 #if defined(SETUP)
        SETUP;
 #endif
 
        res = test_main();
-       printf("test %s completed %s.\n", test_name, 
-               res ? "FAILED" : "PASSED"
-               );
+       switch(res) {
+       case 0:
+               test_result = "PASSED";
+               break;
+       case 3:
+               test_result = "SKIPPED";
+               break;
+       default:
+               test_result = "FAILED";
+               res = 1;
+               break;
+       }
+
+       printf("test %s completed %s.\n", test_name, test_result);
        fflush(stdout);
-       return res ? 1 : 0;
+       return res;
 }
index ef269a762e47f1adc9d70fbde903273ac893b23a..e9ceec86637c33104775eb451c41751952ed465e 100755 (executable)
@@ -2,6 +2,7 @@
 
 passes=0
 fails=0
+skips=0
 
 echo "Test run starting at" `date`
 
@@ -11,11 +12,20 @@ while [ $# -ge 1 ] ; do
        echo "Starting $this_test"
        $this_test 2>&1
        res=$?
-       if [ $res -eq 0 ] ; then str="" ; passes=$[passes + 1] ; else str=" -- FAILED" ; fails=$[fails + 1] ; fi
+       if [ $res -eq 0 ]; then
+               str="";
+               passes=$((passes + 1));
+       elif [ $res -eq 3 ]; then
+               str=" -- SKIPPED";
+               skips=$((skips + 1));
+       else
+               str=" -- FAILED"
+               fails=$((fails + 1));
+       fi
        echo "Completed $this_test with $res$str".
 done
 
-echo "Pass: $passes  Fail: $fails"
+echo "Pass: $passes  Fail: $fails  Skip: $skips"
 echo "Test run complete at" `date`
 
 exit $fails