Re: [PATCH v1 2/2] perf test: Add basic list test

From: James Clark
Date: Wed Nov 29 2023 - 04:28:27 EST




On 29/11/2023 09:00, Adrian Hunter wrote:
> On 29/11/23 10:10, Ian Rogers wrote:
>> Test that json output produces valid json.
>>
>> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>> ---
>> tools/perf/tests/shell/list.sh | 29 +++++++++++++++++++++++++++++
>> 1 file changed, 29 insertions(+)
>> create mode 100755 tools/perf/tests/shell/list.sh
>>
>> diff --git a/tools/perf/tests/shell/list.sh b/tools/perf/tests/shell/list.sh
>> new file mode 100755
>> index 000000000000..286879a9837a
>> --- /dev/null
>> +++ b/tools/perf/tests/shell/list.sh
>> @@ -0,0 +1,29 @@
>> +#!/bin/sh
>> +# perf list tests
>> +# SPDX-License-Identifier: GPL-2.0
>> +
>> +set -e
>> +err=0
>> +
>> +if [ "x$PYTHON" == "x" ]
>> +then
>> + if which python3 > /dev/null
>
> 'which' isn't always present. Maybe
>
> python3 --version >/dev/null 2>&1 && PYTHON=python3
>

Now that we have shellcheck integrated into the build, we could enable
the POSIX mode test which would warn against this usage of which and
suggest the alternative.

At the moment though there are several other usages of which already in
the tests. And probably enabling POSIX mode would come with hundreds of
other warnings to fix.

I'm not saying we shouldn't change this instance though, just adding the
info for the discussion.

>> + then
>> + PYTHON=python3
>> + elif which python > /dev/null
>> + then
>> + PYTHON=python
>> + else
>> + echo Skipping test, python not detected please set environment variable PYTHON.
>> + exit 2
>> + fi
>> +fi
>> +
>> +test_list_json() {
>> + echo "Json output test"
>> + perf list -j | $PYTHON -m json.tool
>> + echo "Json output test [Success]"
>> +}
>> +
>> +test_list_json
>> +exit $err
>
>