[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 8 Aug 2017 19:52:03 +0200
From: "Luis R. Rodriguez" <mcgrof@...nel.org>
To: Michael Ellerman <mpe@...erman.id.au>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"Luis R. Rodriguez" <mcgrof@...nel.org>, dmitry.torokhov@...il.com,
keescook@...omium.org, jeyu@...hat.com, rusty@...tcorp.com.au,
mmarek@...e.com, pmladek@...e.com, mbenes@...e.cz,
jpoimboe@...hat.com, ebiederm@...ssion.com, shuah@...nel.org,
dan.carpenter@...cle.com, colin.king@...onical.com,
dcb314@...mail.com, linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] test_kmod: make selftest executable
On Tue, Aug 08, 2017 at 07:50:04PM +1000, Michael Ellerman wrote:
> Andrew Morton <akpm@...ux-foundation.org> writes:
> > On Wed, 2 Aug 2017 14:14:46 -0700 "Luis R. Rodriguez" <mcgrof@...nel.org> 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@...nel.org>
> >> ---
> >> 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@kernel.org
Luis
Powered by blists - more mailing lists