[PATCH] selftests: use $SHELL to exec selftests

From: Luis R. Rodriguez
Date: Thu Aug 03 2017 - 13:00:42 EST


Executing selftests is fragile as if someone forgot to set a secript
as executable the test will fail. Setting scripts as executable is
desirable to enable folks to execute tests as independent units,
however, we can avoid the fragile errors of forgetting to set the
script as executable by just invoking the $SHELL for running each
script.

Suggsted-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
---

Shuah, while the last two patches could be queued in for 4.13-final,
this one I think is more appropriate for v4.14-rc1 only.

tools/testing/selftests/lib.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 959273c3a52e..2d6abb8037be 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -14,7 +14,7 @@ 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 -;\
+ cd `dirname $$TEST`; ($$SHELL ./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests: $$BASENAME_TEST [FAIL]"; cd -;\
done;
endef

--
2.11.0