Re: [PATCH] selftests: timers: Fix run_destructive_tests target to handle skipped tests

From: John Stultz
Date: Fri Aug 18 2017 - 18:13:12 EST


On Thu, Aug 17, 2017 at 3:48 PM, Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
> When a test exits with skip exit code of 4, "make run_destructive_tests"
> halts testing. Fix run_destructive_tests target to handle error exit codes.
>
> Reported-by: John Stultz <john.stultz@xxxxxxxxxx>
> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> ---
> tools/testing/selftests/timers/Makefile | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/tools/testing/selftests/timers/Makefile b/tools/testing/selftests/timers/Makefile
> index c805ab048d26..6c1327278d5f 100644
> --- a/tools/testing/selftests/timers/Makefile
> +++ b/tools/testing/selftests/timers/Makefile
> @@ -13,20 +13,20 @@ TEST_GEN_PROGS_EXTENDED = alarmtimer-suspend valid-adjtimex adjtick change_skew
>
> include ../lib.mk
>
> +define RUN_DESTRUCTIVE_TESTS
> + @for TEST in $(TEST_GEN_PROGS_EXTENDED); do \
> + BASENAME_TEST=`basename $$TEST`; \
> + 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
> +
> # these tests require escalated privileges
> # and may modify the system time or trigger
> # other behavior like suspend
> run_destructive_tests: run_tests
> - ./alarmtimer-suspend
> - ./valid-adjtimex
> - ./adjtick
> - ./change_skew
> - ./skew_consistency
> - ./clocksource-switch
> - ./freq-step
> - ./leap-a-day -s -i 10


So this resolves the issue with tests returning skipped, but we'll
need to change the leap-a-day test to default to the specified
arguments above, as it runs indefinitely w/o arguments. Thus with the
patch above, make run_destructive_tests never completes.

I'll scratch a patch out to make the change in defaults.

thanks
-john