Re: [PATCH 1/1] selftests: Fix lib.mk run_tests target shell script

From: Mathieu Desnoyers
Date: Wed Nov 01 2017 - 18:22:58 EST


----- On Nov 1, 2017, at 5:33 PM, Shuah Khan shuahkh@xxxxxxxxxxxxxxx wrote:

> On 10/28/2017 07:46 AM, Mathieu Desnoyers wrote:
>> Within run_tests target, the whole script needs to be executed within
>> the same shell and not as separate subshells, so the initial test_num
>> variable set to 0 is still present when executing "test_num=`echo
>> $$test_num+1 | bc`;".
>>
>> Demonstration of the issue (make run_tests):
>>
>> TAP version 13
>> (standard_in) 1: syntax error
>> selftests: basic_test
>> ========================================
>> ok 1.. selftests: basic_test [PASS]
>> (standard_in) 1: syntax error
>> selftests: basic_percpu_ops_test
>> ========================================
>> ok 1.. selftests: basic_percpu_ops_test [PASS]
>> (standard_in) 1: syntax error
>> selftests: param_test
>> ========================================
>> ok 1.. selftests: param_test [PASS]
>
> Hi Mathieu,
>
> Odd. I don't see the error. I am curious if this specific to
> env. Can you reproduce this with one of the existing tests,
> kcmp or breakpoints

Yes, it reproduces:

cd tools/testing/selftests/kcmp
make run_tests
gcc -I../../../../usr/include/ kcmp_test.c -o /home/efficios/git/linux-rseq/tools/testing/selftests/kcmp/kcmp_test
TAP version 13
(standard_in) 1: syntax error
selftests: kcmp_test
========================================
ok 1.. selftests: kcmp_test [PASS]

cd tools/testing/selftests/breakpoints
make run_tests
gcc step_after_suspend_test.c -o /home/efficios/git/linux-rseq/tools/testing/selftests/breakpoints/step_after_suspend_test
gcc breakpoint_test.c -o /home/efficios/git/linux-rseq/tools/testing/selftests/breakpoints/breakpoint_test
TAP version 13
(standard_in) 1: syntax error
selftests: step_after_suspend_test
========================================
not ok 1.. selftests: step_after_suspend_test [FAIL]
(standard_in) 1: syntax error
selftests: breakpoint_test
========================================
ok 1.. selftests: breakpoint_test [PASS]

Thanks,

Mathieu


>
>>
>> With fix applied:
>>
>> TAP version 13
>> selftests: basic_test
>> ========================================
>> ok 1..1 selftests: basic_test [PASS]
>> selftests: basic_percpu_ops_test
>> ========================================
>> ok 1..2 selftests: basic_percpu_ops_test [PASS]
>> selftests: param_test
>> ========================================
>> ok 1..3 selftests: param_test [PASS]
>>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
>> Fixes: 1f87c7c15d7 ("selftests: lib.mk: change RUN_TESTS to print messages in
>> TAP13 format")
>> CC: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
>> CC: linux-kselftest@xxxxxxxxxxxxxxx
>> ---
>
> thanks,
> -- Shuah

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com