From: Jeff Moyer Date: Mon, 29 Jul 2019 17:16:18 +0000 (-0400) Subject: [PATCH libaio 21/28] harness: add support for skipping tests X-Git-Tag: archive/raspbian/0.3.112-13+rpi1~1^2~24 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0ce0c04e2a468ae5d8911a2ce64c1591a11be9d0;p=libaio.git [PATCH libaio 21/28] harness: add support for skipping tests 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 Gbp-Pq: Topic upstream Gbp-Pq: Name 0021-harness-add-support-for-skipping-tests.patch --- diff --git a/harness/main.c b/harness/main.c index 9ecd5da..82e9c69 100644 --- a/harness/main.c +++ b/harness/main.c @@ -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; } diff --git a/harness/runtests.sh b/harness/runtests.sh index ef269a7..e9ceec8 100755 --- a/harness/runtests.sh +++ b/harness/runtests.sh @@ -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