Re: [PATCH 1/1] selftests: Fix lib.mk run_tests target shell script
From: Mathieu Desnoyers
Date: Fri Apr 27 2018 - 16:17:47 EST
----- On Nov 1, 2017, at 6:28 PM, Shuah Khan shuahkh@xxxxxxxxxxxxxxx wrote:
> On 11/01/2017 04:24 PM, Mathieu Desnoyers wrote:
>> ----- On Nov 1, 2017, at 6:22 PM, Mathieu Desnoyers
>> mathieu.desnoyers@xxxxxxxxxxxx wrote:
>>
>>> ----- 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]
>>>
>>
>> The version of "make" on that machine is:
>>
>> make --version
>> GNU Make 3.81
>> Copyright (C) 2006 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.
>> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>> PARTICULAR PURPOSE.
>>
>> This program built for x86_64-pc-linux-gnu
>>
>> (if it helps reproducing)
>>
>
> Yup that's it. I have
>
> GNU Make 4.1
> Built for x86_64-pc-linux-gnu
> Copyright (C) 1988-2014 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> I will test with your patch and see what happens in my env.
Hi,
I still see the problem with v4.17-rc2. Did you have time to
consider merging my fix ?
Thanks,
Mathieu
>
> thanks,
> -- Shuah
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com