Skip to content

Commit

Permalink
selftests: forwarding: Remove duplicated lib.sh content
Browse files Browse the repository at this point in the history
commit 25ae948 ("selftests/net: add lib.sh") added net/lib.sh to
contain code shared by tests under net/ and net/forwarding/. However, this
caused issues with selftests from directories other than net/forwarding/,
in particular those under drivers/net/. Those issues were avoided in a
simple way by duplicating some content in commit 2114e83 ("selftests:
forwarding: Avoid failures to source net/lib.sh").

In order to remove the duplicated content, restore the inclusion of
net/lib.sh from net/forwarding/lib.sh but with the following changes:

* net/lib.sh is imported through the net_forwarding_dir path
The original expression "source ../lib.sh" would look for lib.sh in the
directory above the script file's one, which did not work for tests under
drivers/net/.

* net/lib.sh is added to TEST_INCLUDES
Since net/forwarding/lib.sh now sources net/lib.sh, both of those files
must be exported along with tests which source net/forwarding/lib.sh.

Suggested-by: Hangbin Liu <[email protected]>
Reviewed-by: Hangbin Liu <[email protected]>
Signed-off-by: Petr Machata <[email protected]>
Signed-off-by: Benjamin Poirier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
pmachata authored and davem330 committed Jan 31, 2024
1 parent 9f2af91 commit 521ed1c
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 28 deletions.
3 changes: 2 additions & 1 deletion tools/testing/selftests/drivers/net/bonding/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ TEST_FILES := \
bond_topo_3d1c.sh

TEST_INCLUDES := \
../../../net/forwarding/lib.sh
../../../net/forwarding/lib.sh \
../../../net/lib.sh

include ../../../lib.mk
3 changes: 2 additions & 1 deletion tools/testing/selftests/drivers/net/dsa/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ TEST_INCLUDES := \
../../../net/forwarding/local_termination.sh \
../../../net/forwarding/no_forwarding.sh \
../../../net/forwarding/tc_actions.sh \
../../../net/forwarding/tc_common.sh
../../../net/forwarding/tc_common.sh \
../../../net/lib.sh

include ../../../lib.mk
3 changes: 2 additions & 1 deletion tools/testing/selftests/drivers/net/team/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ TEST_PROGS := dev_addr_lists.sh

TEST_INCLUDES := \
../bonding/lag_lib.sh \
../../../net/forwarding/lib.sh
../../../net/forwarding/lib.sh \
../../../net/lib.sh

include ../../../lib.mk
3 changes: 3 additions & 0 deletions tools/testing/selftests/net/forwarding/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,7 @@ TEST_PROGS_EXTENDED := devlink_lib.sh \
sch_tbf_etsprio.sh \
tc_common.sh

TEST_INCLUDES := \
../lib.sh

include ../../lib.mk
26 changes: 1 addition & 25 deletions tools/testing/selftests/net/forwarding/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,31 +35,7 @@ if [[ -f $net_forwarding_dir/forwarding.config ]]; then
source "$net_forwarding_dir/forwarding.config"
fi

# Kselftest framework requirement - SKIP code is 4.
ksft_skip=4

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
}
source "$net_forwarding_dir/../lib.sh"

##############################################################################
# Sanity checks
Expand Down

0 comments on commit 521ed1c

Please sign in to comment.