selftests: dsa: Replace test symlinks by wrapper script
authorBenjamin Poirier <bpoirier@nvidia.com>
Fri, 26 Jan 2024 23:21:21 +0000 (18:21 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 31 Jan 2024 10:55:11 +0000 (10:55 +0000)
The dsa tests which are symlinks of tests from net/forwarding/ (like
tc_actions.sh) become regular files after export (because `rsync
--copy-unsafe-links` is used) and expect to source lib.sh
(net/forwarding/lib.sh) from the same directory.

In the last patch of this series, net/forwarding/lib.sh will source lib.sh
from its parent directory (ie. net/lib.sh). This would not work for dsa
tests because net/lib.sh is not present under drivers/net/.

Since the tests in net/forwarding/ are not meant to be copied and run from
another directory, as a preparation for that last patch, replace the test
symlinks by a wrapper script which runs the original tests under
net/forwarding/. Following from that, the links to shared library scripts
in dsa/ are no longer used so remove them and add all the original files
needed from parent directories to TEST_INCLUDES.

Suggested-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 files changed:
tools/testing/selftests/drivers/net/dsa/Makefile
tools/testing/selftests/drivers/net/dsa/bridge_locked_port.sh
tools/testing/selftests/drivers/net/dsa/bridge_mdb.sh
tools/testing/selftests/drivers/net/dsa/bridge_mld.sh
tools/testing/selftests/drivers/net/dsa/bridge_vlan_aware.sh
tools/testing/selftests/drivers/net/dsa/bridge_vlan_mcast.sh
tools/testing/selftests/drivers/net/dsa/bridge_vlan_unaware.sh
tools/testing/selftests/drivers/net/dsa/lib.sh [deleted symlink]
tools/testing/selftests/drivers/net/dsa/local_termination.sh
tools/testing/selftests/drivers/net/dsa/no_forwarding.sh
tools/testing/selftests/drivers/net/dsa/run_net_forwarding_test.sh [new file with mode: 0755]
tools/testing/selftests/drivers/net/dsa/tc_actions.sh
tools/testing/selftests/drivers/net/dsa/tc_common.sh [deleted symlink]
tools/testing/selftests/drivers/net/dsa/test_bridge_fdb_stress.sh

index c393e7b..83da1d7 100644 (file)
@@ -11,8 +11,21 @@ TEST_PROGS = bridge_locked_port.sh \
        tc_actions.sh \
        test_bridge_fdb_stress.sh
 
-TEST_PROGS_EXTENDED := lib.sh tc_common.sh
+TEST_FILES := \
+       run_net_forwarding_test.sh \
+       forwarding.config
 
-TEST_FILES := forwarding.config
+TEST_INCLUDES := \
+       ../../../net/forwarding/bridge_locked_port.sh \
+       ../../../net/forwarding/bridge_mdb.sh \
+       ../../../net/forwarding/bridge_mld.sh \
+       ../../../net/forwarding/bridge_vlan_aware.sh \
+       ../../../net/forwarding/bridge_vlan_mcast.sh \
+       ../../../net/forwarding/bridge_vlan_unaware.sh \
+       ../../../net/forwarding/lib.sh \
+       ../../../net/forwarding/local_termination.sh \
+       ../../../net/forwarding/no_forwarding.sh \
+       ../../../net/forwarding/tc_actions.sh \
+       ../../../net/forwarding/tc_common.sh
 
 include ../../../lib.mk
index f5eb940..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_locked_port.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index 76492da..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_mdb.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index 81a7e0d..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_mld.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index 9831ed7..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_vlan_aware.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index 7f3c3f0..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_vlan_mcast.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index bf1a57e..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/bridge_vlan_unaware.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
diff --git a/tools/testing/selftests/drivers/net/dsa/lib.sh b/tools/testing/selftests/drivers/net/dsa/lib.sh
deleted file mode 120000 (symlink)
index 39c9682..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../net/forwarding/lib.sh
\ No newline at end of file
index c08166f..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/local_termination.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
index b975746..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/no_forwarding.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
diff --git a/tools/testing/selftests/drivers/net/dsa/run_net_forwarding_test.sh b/tools/testing/selftests/drivers/net/dsa/run_net_forwarding_test.sh
new file mode 100755 (executable)
index 0000000..4106c0a
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+libdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+testname=$(basename "${BASH_SOURCE[0]}")
+
+source "$libdir"/forwarding.config
+cd "$libdir"/../../../net/forwarding/ || exit 1
+source "./$testname" "$@"
index 306213d..d16a65e 120000 (symlink)
@@ -1 +1 @@
-../../../net/forwarding/tc_actions.sh
\ No newline at end of file
+run_net_forwarding_test.sh
\ No newline at end of file
diff --git a/tools/testing/selftests/drivers/net/dsa/tc_common.sh b/tools/testing/selftests/drivers/net/dsa/tc_common.sh
deleted file mode 120000 (symlink)
index bc3465b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../net/forwarding/tc_common.sh
\ No newline at end of file
index 92acab8..7468215 100755 (executable)
@@ -19,7 +19,7 @@ REQUIRE_JQ="no"
 REQUIRE_MZ="no"
 NETIF_CREATE="no"
 lib_dir=$(dirname "$0")
-source "$lib_dir"/lib.sh
+source "$lib_dir"/../../../net/forwarding/lib.sh
 
 cleanup() {
        echo "Cleaning up"