OSDN Git Service

selftests: lib.mk: move running and printing result to a new function
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 25 Apr 2018 15:32:20 +0000 (09:32 -0600)
committerShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 30 May 2018 21:21:51 +0000 (15:21 -0600)
RUN_TESTS function has grown and becoming harder to maintain. Move
the code that runs and tests for returns codes to a new function
and call it from RUN_TESTS.

A new RUN_TEST_PRINT_RESULT is created to simplify RUN_TESTS and make it
easier to add handling for other return codes as needed.

Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
tools/testing/selftests/lib.mk

index e8f5f8b..dd516f9 100644 (file)
@@ -19,6 +19,33 @@ TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
 all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
 
 .ONESHELL:
+define RUN_TEST_PRINT_RESULT
+       echo "selftests: $$BASENAME_TEST";      \
+       echo "========================================";        \
+       if [ ! -x $$TEST ]; then        \
+               echo "selftests: Warning: file $$BASENAME_TEST is not executable, correct this.";\
+               echo "not ok 1..$$test_num selftests: $$BASENAME_TEST [FAIL]"; \
+       else                                    \
+               cd `dirname $$TEST` > /dev/null; \
+               if [ "X$(summary)" != "X" ]; then       \
+                       (./$$BASENAME_TEST > /tmp/$$BASENAME_TEST 2>&1 && \
+                       echo "ok 1..$$test_num selftests: $$BASENAME_TEST [PASS]") || \
+                       (if [ $$? -eq $$skip ]; then    \
+                               echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [SKIP]";                         \
+                       else echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [FAIL]";                                    \
+                       fi;)                    \
+               else                            \
+                       (./$$BASENAME_TEST &&   \
+                       echo "ok 1..$$test_num selftests: $$BASENAME_TEST [PASS]") ||                                           \
+                       (if [ $$? -eq $$skip ]; then \
+                               echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [SKIP]"; \
+                       else echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [FAIL]";                            \
+                       fi;)            \
+               fi;                             \
+               cd - > /dev/null;               \
+       fi;
+endef
+
 define RUN_TESTS
        @export KSFT_TAP_LEVEL=`echo 1`;                \
        test_num=`echo 0`;                              \
@@ -27,30 +54,7 @@ define RUN_TESTS
        for TEST in $(1); do                            \
                BASENAME_TEST=`basename $$TEST`;        \
                test_num=`echo $$test_num+1 | bc`;      \
-               echo "selftests: $$BASENAME_TEST";      \
-               echo "========================================";        \
-               if [ ! -x $$TEST ]; then        \
-                       echo "selftests: Warning: file $$BASENAME_TEST is not executable, correct this.";\
-                       echo "not ok 1..$$test_num selftests: $$BASENAME_TEST [FAIL]"; \
-               else                                    \
-                       cd `dirname $$TEST` > /dev/null; \
-                       if [ "X$(summary)" != "X" ]; then       \
-                               (./$$BASENAME_TEST > /tmp/$$BASENAME_TEST 2>&1 && \
-                               echo "ok 1..$$test_num selftests: $$BASENAME_TEST [PASS]") || \
-                               (if [ $$? -eq $$skip ]; then    \
-                                       echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [SKIP]";                         \
-                               else echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [FAIL]";                                    \
-                               fi;)                    \
-                       else                            \
-                               (./$$BASENAME_TEST &&   \
-                               echo "ok 1..$$test_num selftests: $$BASENAME_TEST [PASS]") ||                                           \
-                               (if [ $$? -eq $$skip ]; then \
-                                       echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [SKIP]"; \
-                               else echo "not ok 1..$$test_num selftests:  $$BASENAME_TEST [FAIL]";                            \
-                               fi;)            \
-                       fi;                             \
-                       cd - > /dev/null;               \
-               fi;                                     \
+               $(call RUN_TEST_PRINT_RESULT,$(TEST),$(BASENAME_TEST),$(test_num),$(skip))                                              \
        done;
 endef