On Fri, Nov 24, 2023 at 03:05:18PM +0100, Petr Machata wrote: > > Hangbin Liu <liuhangbin@xxxxxxxxx> writes: > > > Add a lib.sh for net selftests. This file can be used to define commonly > > used variables and functions. > > > > Add function setup_ns() for user to create unique namespaces with given > > prefix name. > > > > Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> > > --- > > diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh > > new file mode 100644 > > index 000000000000..239ab2beb438 > > --- /dev/null > > +++ b/tools/testing/selftests/net/lib.sh > > @@ -0,0 +1,98 @@ > > +#!/bin/bash > > +# SPDX-License-Identifier: GPL-2.0 > > + > > +############################################################################## > > +# Defines > > + > > +# Kselftest framework requirement - SKIP code is 4. > > +ksft_skip=4 > > +# namespace list created by setup_ns > > +NS_LIST="" > > + > > +############################################################################## > > +# Helpers > > +busywait() > > +{ > > + local timeout=$1; shift > > + > > + local start_time="$(date -u +%s%3N)" > > + while true > > + do > > + local out > > + out=$($@) > > + local ret=$? > > + if ((!ret)); then > > + echo -n "$out" > > + return 0 > > + fi > > + > > + local current_time="$(date -u +%s%3N)" > > + if ((current_time - start_time > timeout)); then > > + echo -n "$out" > > + return 1 > > + fi > > + done > > +} > > This is lifted from forwarding/lib.sh, right? Would it make sense to Yes. > just source this new file from forwarding/lib.sh instead of copying Do you mean let net/forwarding/lib.sh source net.lib, and let other net tests source the net/forwarding/lib.sh? Or move the busywait() function from net/forwarding/lib.sh to net.lib. Then let net/forwarding/lib.sh source net.lib? > stuff around? I imagine there will eventually be more commonality, and > when that pops up, we can just shuffle the forwarding code to > net/lib.sh. Yes, make sense. Thanks Hangbin