Re: [PATCH] perf tools: Fix check-headers.sh AND list path of execution

From: Jiri Olsa
Date: Mon Aug 13 2018 - 07:16:42 EST


On Sat, Aug 11, 2018 at 11:39:15AM +0300, Alexander Kapshuk wrote:
> The '||' path of execution in the 'test' block of the check_2() function
> may also be taken if file2 does not exist, in which case the warning
> message about the ABI headers being different would still be printed
> where it should not be. See below.
>
> % file1=file1; file2=file2
> % cmd="echo diff $file1 $file2"
> % test -f $file2 &&
> eval $cmd || echo "Warning: Kernel ABI header at 'tools/$file1'
> differs from latest version at '$file2'" >&2
> Warning: Kernel ABI header at 'tools/file1' differs from latest
> version at 'file2'
>
> The proposed patch converts the code following the '&&' operator into a
> compound list to be executed in the current process environment only if
> file2 does exist. Should the files being compared differ, a diff command
> to compare the files concerned is printed on standard output. E.g.
>
> diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
>
> Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx>

I posted follow up patches based on this one
as a reply on this patch

for this one:

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> tools/perf/check-headers.sh | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh
> index de28466c0186..ea48aa6f8d19 100755
> --- a/tools/perf/check-headers.sh
> +++ b/tools/perf/check-headers.sh
> @@ -67,8 +67,12 @@ check_2 () {
>
> cmd="diff $* $file1 $file2 > /dev/null"
>
> - test -f $file2 &&
> - eval $cmd || echo "Warning: Kernel ABI header at 'tools/$file' differs from latest version at '$file'" >&2
> + test -f $file2 && {
> + eval $cmd || {
> + echo "Warning: Kernel ABI header at 'tools/$file' differs from latest version at '$file'" >&2
> + echo diff -u tools/$file $file
> + }
> + }
> }
>
> check () {
> --
> 2.18.0
>