selftests: warn if failure is due to lack of executable bit
authorLuis R. Rodriguez <mcgrof@kernel.org>
Thu, 3 Aug 2017 20:24:36 +0000 (13:24 -0700)
committerShuah Khan <shuahkh@osg.samsung.com>
Wed, 9 Aug 2017 20:41:20 +0000 (14:41 -0600)
Executing selftests is fragile as if someone forgot to set a secript
as executable the test will fail, and you won't know for sure if the
failure was caused by the lack of proper permissions or something else.

Setting scripts as executable is required, this also enable folks to
execute selftests as independent units.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/lib.mk

index 959273c3a52e10f5895735b047a3de389e4f161a..e71f8e4633b1e70c2018a6102079ff56fa84cbc1 100644 (file)
@@ -14,7 +14,12 @@ all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
 define RUN_TESTS
        @for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
                BASENAME_TEST=`basename $$TEST`;        \
-               cd `dirname $$TEST`; (./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests:  $$BASENAME_TEST [FAIL]"; cd -;\
+               if [ ! -x $$BASENAME_TEST ]; then       \
+                       echo "selftests: Warning: file $$BASENAME_TEST is not executable, correct this.";\
+                       echo "selftests: $$BASENAME_TEST [FAIL]"; \
+               else                                    \
+                       cd `dirname $$TEST`; (./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests:  $$BASENAME_TEST [FAIL]"; cd -;\
+               fi;                                     \
        done;
 endef