Re: [PATCH] perf test: Do not fail Intel-PT misc test w/o libpython

From: Adrian Hunter
Date: Fri Oct 21 2022 - 01:22:40 EST


On 20/10/22 22:29, Namhyung Kim wrote:
> The virtuall LBR test uses a python script to check the max size of
> branch stack in the Intel-PT generated LBR. But it didn't check whether
> python scripting is available (as it's optional).
>
> Let's skip the test if the python support is not available.
>
> Fixes: f77811a0f625 ("perf test: test_intel_pt.sh: Add 9 tests")
> Cc: Ammy Yi <ammy.yi@xxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/tests/shell/test_intel_pt.sh | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/perf/tests/shell/test_intel_pt.sh b/tools/perf/tests/shell/test_intel_pt.sh
> index 4c0aabbe33bd..e66b7d977462 100755
> --- a/tools/perf/tests/shell/test_intel_pt.sh
> +++ b/tools/perf/tests/shell/test_intel_pt.sh
> @@ -526,6 +526,12 @@ test_kernel_trace()
> test_virtual_lbr()
> {
> echo "--- Test virtual LBR ---"
> + # Check if python script is supported
> + libpython=$(ldd $(which perf) | grep -c python)

'which' might not be installed. Don't about 'ldd'.

Maybe 'perf version --build-options' can be used instead e.g.

$ perf version --build-options | grep -i libpython | grep -vi off
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT

> + if [ "${libpython}" != "1" ] ; then
> + echo "SKIP: python scripting is not supported"
> + return 2
> + fi
>
> # Python script to determine the maximum size of branch stacks
> cat << "_end_of_file_" > "${maxbrstack}"