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

From: Shuah Khan
Date: Tue Aug 22 2017 - 13:42:05 EST


On 08/18/2017 04:13 PM, John Stultz wrote:
> 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.
>
Applied the patch to linux=kselftest for 4.14-rc1 after applying
the leap-a-day test default args change patch. Both are marked for
stable 4.13+

thanks,
-- Shuah