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

From: Alexander Kapshuk
Date: Mon Aug 13 2018 - 07:19:51 EST


On Mon, Aug 13, 2018 at 2:16 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> 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

Noted.
Thanks.


>
> > ---
> > 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
> >