Re: [PATCH 1/5] test_kmod: make selftest executable

From: Andrew Morton
Date: Wed Aug 02 2017 - 18:43:56 EST


On Wed, 2 Aug 2017 14:14:46 -0700 "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> wrote:

> We had just forgotten to do this.
>
> Fixes: 39258f448d71 ("kmod: add test driver to stress test the module loader")
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
> ---
> tools/testing/selftests/kmod/kmod.sh | 0
> 1 file changed, 0 insertions(+), 0 deletions(-)
> mode change 100644 => 100755 tools/testing/selftests/kmod/kmod.sh
>
> diff --git a/tools/testing/selftests/kmod/kmod.sh b/tools/testing/selftests/kmod/kmod.sh
> old mode 100644
> new mode 100755

This is pretty fragile - I'm not sure that patch/diff are capable of
communicating a bare chmod. If someone does a "patch -p1 < patch-4.14"
or whatever, this change is likely to get lost.

It's more robust to not care about the x bit at all. Something like
this?

--- a/tools/testing/selftests/lib.mk~a
+++ a/tools/testing/selftests/lib.mk
@@ -14,7 +14,7 @@ all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_
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`; (/bin/sh ./$$BASENAME_TEST && echo "selftests: $$BASENAME_TEST [PASS]") || echo "selftests: $$BASENAME_TEST [FAIL]"; cd -;\
done;
endef


(probably incomplete, should presumably use $SHELL or something)