[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220518082548.24d63e25@kernel.org>
Date: Wed, 18 May 2022 08:25:48 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Hangbin Liu <liuhangbin@...il.com>
Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
Paolo Abeni <pabeni@...hat.com>, Shuah Khan <shuah@...nel.org>,
linux-kselftest@...r.kernel.org
Subject: Re: [PATCH net 0/2] selftests: net: add missing tests to Makefile
On Wed, 18 May 2022 14:01:43 +0800 Hangbin Liu wrote:
> > > +files=$(git show --name-status --oneline | grep -P '^A\ttools/testing/selftests/net/' | grep '\.sh$' | sed 's@A\ttools/testing/selftests/net/@@')
FWIW this will list just the names of bash scripts with no decoration:
git show --pretty="" --name-only -- tools/testing/selftests/*.sh
And we can get the names of the files with basename:
for f in $(git show --pretty="" --name-only); do basename $f; done
> > > +for file in $files; do
> > > + if echo $file | grep forwarding; then
> > > + file=$(echo $file | sed 's/forwarding\///')
> > > + if ! grep -P "[\t| ]$file" tools/testing/selftests/net/forwarding/Makefile;then
> > > + echo "new test $file not in selftests/net/forwarding/Makefile" >&$DESC_FD
> > > + rc=1
> > > + fi
> > > + else
> > > + if ! grep -P "[\t| ]$file" tools/testing/selftests/net/Makefile;then
> > > + echo "new test $file not in selftests/net/Makefile" >&$DESC_FD
> > > + rc=1
> > > + fi
> >
> > Does it matter which exact selftest makefile the changes are?
>
> I only checked the tools/testing/selftests/net/Makefile and
> tools/testing/selftests/net/forwarding/Makefile at present.
> Maybe mptcp should also added?
Right, mptcp is one example, then we also have
tools/testing/selftests/drivers/net/
There may be new directories added, then we'd need to keep updating
the test.
> > Maybe as a first stab we should just check if there are changes
> > to anything in tools/testing/selftests/.*/Makefile?
>
> In my checking only shell scripts are checked, as most net net/forwarding tests
> using shell script for testing. But other sub-component may use c binary or
> python for testing. So I think there is no need to check all
> tools/testing/selftests/.*/Makefile. WDYT?
Not sure I understand, let me explain what I meant in more detail.
I think we should make it generic. For example check the Makefile
in the same location as the script:
grep $(basename $f) $(dirname $f)/Makefile
And maybe just to be safe one directory level down?
grep $(basename $f) $(dirname $(dirname $f))/Makefile
Instead of hardcoding the expected paths.
Powered by blists - more mailing lists