On Tue, Aug 08, 2017 at 07:50:04PM +1000, Michael Ellerman wrote: > Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes: > > 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 > > Most (many?) of the tests aren't shell scripts, so that doesn't work, eg: > > $ make -C tools/testing/selftests/ TARGETS=kcmp run_tests > ... > make[1]: Entering directory '/home/michael/linus/tools/testing/selftests/kcmp' > ./kcmp_test: 1: ./kcmp_test: ELF...0.@�.@@..@@.@.�.�..........����.��.�.�...�.�..�.�.�.....DD.Q�td.R�td.����.��../lib64/ld64.so.2..GNU...GNUC{: not found > ./kcmp_test: 13: ./kcmp_test: Syntax error: Unterminated quoted string > selftests: kcmp_test [FAIL] > > > Also some of the ones which are shell scripts require bash, and /bin/sh > may not be bash, eg: > > $ make -C tools/testing/selftests/ TARGETS=cpu-hotplug run_tests > ... > make[1]: Entering directory '/home/michael/linus/tools/testing/selftests/cpu-hotplug' > ./cpu-on-off-test.sh: 9: [: !=: unexpected operator Which is precisely why I decided to just issue a warning instead: https://lkml.kernel.org/r/20170803202436.6877-1-mcgrof@xxxxxxxxxx Luis -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html