]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
selftests: net: Fix cross-tree inclusion of scripts
authorBenjamin Poirier <bpoirier@nvidia.com>
Wed, 19 Oct 2022 09:10:41 +0000 (18:10 +0900)
committerJakub Kicinski <kuba@kernel.org>
Fri, 21 Oct 2022 04:09:22 +0000 (21:09 -0700)
When exporting and running a subset of selftests via kselftest, files from
parts of the source tree which were not exported are not available. A few
tests are trying to source such files. Address the problem by using
symlinks.

The problem can be reproduced by running:
make -C tools/testing/selftests gen_tar TARGETS="drivers/net/bonding"
[... extract archive ...]
./run_kselftest.sh

or:
make kselftest KBUILD_OUTPUT=/tmp/kselftests TARGETS="drivers/net/bonding"

Fixes: bbb774d921e2 ("net: Add tests for bonding and team address list management")
Fixes: eccd0a80dc7f ("selftests: net: dsa: add a stress test for unlocked FDB operations")
Link: https://lore.kernel.org/netdev/40f04ded-0c86-8669-24b1-9a313ca21076@redhat.com/
Reported-by: Jonathan Toppins <jtoppins@redhat.com>
Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
Reviewed-by: Jonathan Toppins <jtoppins@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/bonding/Makefile
tools/testing/selftests/drivers/net/bonding/dev_addr_lists.sh
tools/testing/selftests/drivers/net/bonding/net_forwarding_lib.sh [new symlink]
tools/testing/selftests/drivers/net/dsa/test_bridge_fdb_stress.sh
tools/testing/selftests/drivers/net/team/Makefile
tools/testing/selftests/drivers/net/team/dev_addr_lists.sh
tools/testing/selftests/drivers/net/team/lag_lib.sh [new symlink]
tools/testing/selftests/drivers/net/team/net_forwarding_lib.sh [new symlink]
tools/testing/selftests/lib.mk

index e9dab5f9d77380e1eacb5eb025b93c589a7f5a88..6b8d2e2f23c2a27317fa0221b740aba4f5a99d72 100644 (file)
@@ -7,6 +7,8 @@ TEST_PROGS := \
        bond-lladdr-target.sh \
        dev_addr_lists.sh
 
-TEST_FILES := lag_lib.sh
+TEST_FILES := \
+       lag_lib.sh \
+       net_forwarding_lib.sh
 
 include ../../../lib.mk
index e6fa24eded5b82004c5be39fb658f92582c8e1c7..5cfe7d8ebc256ca16f15e1b2bb5c8965e718aa48 100755 (executable)
@@ -14,7 +14,7 @@ ALL_TESTS="
 REQUIRE_MZ=no
 NUM_NETIFS=0
 lib_dir=$(dirname "$0")
-source "$lib_dir"/../../../net/forwarding/lib.sh
+source "$lib_dir"/net_forwarding_lib.sh
 
 source "$lib_dir"/lag_lib.sh
 
diff --git a/tools/testing/selftests/drivers/net/bonding/net_forwarding_lib.sh b/tools/testing/selftests/drivers/net/bonding/net_forwarding_lib.sh
new file mode 120000 (symlink)
index 0000000..39c9682
--- /dev/null
@@ -0,0 +1 @@
+../../../net/forwarding/lib.sh
\ No newline at end of file
index dca8be6092b926b00198e00fa64c03e9e3bc8556..a1f269ee84dac3b7a8067dfda2975f46ed6b4e08 100755 (executable)
@@ -18,8 +18,8 @@ NUM_NETIFS=1
 REQUIRE_JQ="no"
 REQUIRE_MZ="no"
 NETIF_CREATE="no"
-lib_dir=$(dirname $0)/../../../net/forwarding
-source $lib_dir/lib.sh
+lib_dir=$(dirname "$0")
+source "$lib_dir"/lib.sh
 
 cleanup() {
        echo "Cleaning up"
index 642d8df1c137b4a6fce03ccb5881cc0e30aa54bc..6a86e61e8bfe5796a1047877a6d7c48bf86519ee 100644 (file)
@@ -3,4 +3,8 @@
 
 TEST_PROGS := dev_addr_lists.sh
 
+TEST_FILES := \
+       lag_lib.sh \
+       net_forwarding_lib.sh
+
 include ../../../lib.mk
index debda72629564b02d0313435bfbdcef334a3489a..9684163949f087c7dabe9353e6edb78c4f5ad08c 100755 (executable)
@@ -11,9 +11,9 @@ ALL_TESTS="
 REQUIRE_MZ=no
 NUM_NETIFS=0
 lib_dir=$(dirname "$0")
-source "$lib_dir"/../../../net/forwarding/lib.sh
+source "$lib_dir"/net_forwarding_lib.sh
 
-source "$lib_dir"/../bonding/lag_lib.sh
+source "$lib_dir"/lag_lib.sh
 
 
 destroy()
diff --git a/tools/testing/selftests/drivers/net/team/lag_lib.sh b/tools/testing/selftests/drivers/net/team/lag_lib.sh
new file mode 120000 (symlink)
index 0000000..e1347a1
--- /dev/null
@@ -0,0 +1 @@
+../bonding/lag_lib.sh
\ No newline at end of file
diff --git a/tools/testing/selftests/drivers/net/team/net_forwarding_lib.sh b/tools/testing/selftests/drivers/net/team/net_forwarding_lib.sh
new file mode 120000 (symlink)
index 0000000..39c9682
--- /dev/null
@@ -0,0 +1 @@
+../../../net/forwarding/lib.sh
\ No newline at end of file
index 9d4cb94cf43741013242cd28908047f97b9775ac..a3ea3d4a206d05733540e00f334ce29e65c6d933 100644 (file)
@@ -70,7 +70,7 @@ endef
 run_tests: all
 ifdef building_out_of_srctree
        @if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \
-               rsync -aq $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT); \
+               rsync -aLq $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT); \
        fi
        @if [ "X$(TEST_PROGS)" != "X" ]; then \
                $(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) \
@@ -84,7 +84,7 @@ endif
 
 define INSTALL_SINGLE_RULE
        $(if $(INSTALL_LIST),@mkdir -p $(INSTALL_PATH))
-       $(if $(INSTALL_LIST),rsync -a $(INSTALL_LIST) $(INSTALL_PATH)/)
+       $(if $(INSTALL_LIST),rsync -aL $(INSTALL_LIST) $(INSTALL_PATH)/)
 endef
 
 define INSTALL_RULE