Re: [PATCH v2] selftests: warn if failure is due to lack of executable bit

From: Luis R. Rodriguez
Date: Tue Aug 08 2017 - 13:50:36 EST


On Thu, Aug 03, 2017 at 01:24:36PM -0700, Luis R. Rodriguez wrote:
> 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@xxxxxxxxxx>
> ---
> tools/testing/selftests/lib.mk | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 959273c3a52e..e71f8e4633b1 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -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
>

*poke*

Luis