[PATCH] tools/perf/tests/shell/base_probe: Enhance print_overall_results to print summary information

Athira Rajeev atrajeev at linux.vnet.ibm.com
Wed Oct 16 16:13:47 AEDT 2024



> On 14 Oct 2024, at 9:10 PM, Athira Rajeev <atrajeev at linux.vnet.ibm.com> wrote:
> 
> Currently print_overall_results prints the number of
> fails in the summary, example from base_probe tests in
> testsuite_probe:
> 
> ## [ FAIL ] ## perf_probe :: test_invalid_options SUMMARY ::
> 11 failures found
> 
> test_invalid_options contains multiple tests and out
> of that 11 failed. Sometimes it could happen that it
> is due to missing dependency in the build or environment
> dependency.
> 
> Example, perf probe -L requires DWARF enabled. otherwise
> it fails as below:
> ./perf probe -L
>  Error: switch `L' is not available because NO_DWARF=1
> 
> "-L" is tested as one of the option in :
>   for opt in '-a' '-d' '-L' '-V'; do
>   <<perf probe test>>
>   print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "missing argument
> for $opt"
> 
> Here -a and -d doesn't require DWARF. Similarly there
> are few other tests requiring DWARF. To hint the user that
> missing dwarf could be one issue, update print_overall_results
> to print a comment string along with summary hinting the possible
> cause. Update test_invalid_options.sh and test_line_semantics.sh
> to pass the info about dwarf requirement since these tests
> failed when perf is built without DWARF.
> 
> With the change:
> ## [ FAIL ] ## perf_probe :: test_invalid_options SUMMARY ::
> 11 failures found :: Some of the tests need DWARF to run
> 
> Signed-off-by: Athira Rajeev <atrajeev at linux.vnet.ibm.com>

Adding Veronika in the mail. Sorry missed to add initially. Please share review comments on this fix.

Thanks
Athira
> ---
> tools/perf/tests/shell/base_probe/test_invalid_options.sh | 2 +-
> tools/perf/tests/shell/base_probe/test_line_semantics.sh  | 2 +-
> tools/perf/tests/shell/common/init.sh                     | 3 ++-
> 3 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/tests/shell/base_probe/test_invalid_options.sh b/tools/perf/tests/shell/base_probe/test_invalid_options.sh
> index 1fedfd8b0d0d..e133bb0aa949 100755
> --- a/tools/perf/tests/shell/base_probe/test_invalid_options.sh
> +++ b/tools/perf/tests/shell/base_probe/test_invalid_options.sh
> @@ -75,5 +75,5 @@ done
> 
> 
> # print overall results
> -print_overall_results "$TEST_RESULT"
> +print_overall_results "$TEST_RESULT" "Some of the tests need DWARF to run"
> exit $?
> diff --git a/tools/perf/tests/shell/base_probe/test_line_semantics.sh b/tools/perf/tests/shell/base_probe/test_line_semantics.sh
> index d8f4bde0f585..99f4f56a3292 100755
> --- a/tools/perf/tests/shell/base_probe/test_line_semantics.sh
> +++ b/tools/perf/tests/shell/base_probe/test_line_semantics.sh
> @@ -51,5 +51,5 @@ done
> 
> 
> # print overall results
> -print_overall_results "$TEST_RESULT"
> +print_overall_results "$TEST_RESULT" "Some of the tests need DWARF to run"
> exit $?
> diff --git a/tools/perf/tests/shell/common/init.sh b/tools/perf/tests/shell/common/init.sh
> index 075f17623c8e..0862cbc1c6f7 100644
> --- a/tools/perf/tests/shell/common/init.sh
> +++ b/tools/perf/tests/shell/common/init.sh
> @@ -46,10 +46,11 @@ print_results()
> print_overall_results()
> {
> RETVAL="$1"; shift
> + TASK_COMMENT="$*"
> if [ $RETVAL -eq 0 ]; then
> _echo "$MALLPASS## [ PASS ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY"
> else
> - _echo "$MALLFAIL## [ FAIL ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY :: $RETVAL failures found"
> + _echo "$MALLFAIL## [ FAIL ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY :: $RETVAL failures found :: $TASK_COMMENT"
> fi
> return $RETVAL
> }
> -- 
> 2.43.5
> 
> 



More information about the Linuxppc-dev mailing list