Re: [PATCH] selftests/net/forwarding: teamd command not found
From: Jakub Kicinski
Date: Fri Jan 10 2025 - 20:16:49 EST
On Fri, 10 Jan 2025 15:35:23 +0100 Alessandro Zanni wrote:
> On Fri, Jan 10, 2025 at 04:09:07AM +0000, Hangbin Liu wrote:
> > On Fri, Jan 10, 2025 at 01:07:44AM +0100, Alessandro Zanni wrote:
> > > Running "make kselftest TARGETS=net/forwarding" results in several
> > > occurrences of the same error:
> > > ./lib.sh: line 787: teamd: command not found
> > >
> > > Since many tests depends on teamd, this fix stops the tests if the
> > > teamd command is not installed.
> > >
> > > Signed-off-by: Alessandro Zanni <alessandro.zanni87@xxxxxxxxx>
> > > ---
> > > tools/testing/selftests/net/forwarding/lib.sh | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
> > > index 7337f398f9cc..a6a74a4be4bf 100644
> > > --- a/tools/testing/selftests/net/forwarding/lib.sh
> > > +++ b/tools/testing/selftests/net/forwarding/lib.sh
> > > @@ -784,6 +784,7 @@ team_destroy()
> > > {
> > > local if_name=$1; shift
> > >
> > > + require_command $TEAMD
> > > $TEAMD -t $if_name -k
> > > }
> >
> > I saw team_create() has `require_command $TEAMD`. Is some test called
> > team_destroy() before team_create()?
>
> Actually, the errors seem to raise in the "cleanup()" method.
>
> So, first, during the test preparation the "team_create()" method is called
> and checks if teamd is installed.
> When it fails and skips the test, the "cleanup()" method calls
> the "team_destroy()" that raises the errors.
Actually, maybe we're better off switching the team handling to the way
REQUIRE_JQ REQUIRE_MZ etc are handled? That way we'll validate and exit
when lib is imported / sourced.
Petr, do you have a preference?
--
pw-bot: cr