[PATCH net-next] selftests: net: include lib/sh/*.sh with lib.sh

Matthieu Baerts (NGI0) posted 1 patch 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/20241104-net-next-selftests-lib-sh-deps-v1-1-7c9f7d939fc2@kernel.org
tools/testing/selftests/net/forwarding/Makefile | 3 ++-
tools/testing/selftests/net/mptcp/Makefile      | 2 +-
tools/testing/selftests/net/netfilter/Makefile  | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)
[PATCH net-next] selftests: net: include lib/sh/*.sh with lib.sh
Posted by Matthieu Baerts (NGI0) 1 month ago
Recently, the net/lib.sh file has been modified to include defer.sh from
net/lib/sh/ directory. The Makefile from net/lib has been modified
accordingly, but not the ones from the sub-targets using net/lib.sh.

Because of that, the new file is not installed as expected when
installing the Forwarding, MPTCP, and Netfilter targets, e.g.

  # make -C tools/testing/selftests TARGETS=net/mptcp install \
        INSTALL_PATH=/tmp/kself
  # cd /tmp/kself/
  # ./run_kselftest.sh -c net/mptcp
    TAP version 13
    1..7
    # timeout set to 1800
    # selftests: net/mptcp: mptcp_connect.sh
    # ./../lib.sh: line 5: /tmp/kself/net/lib/sh/defer.sh: No such file
      or directory
    # (...)

This can be fixed simply by adding all the .sh files from net/lib/sh
directory to the TEST_INCLUDES variable in the different Makefile's.

Fixes: a6e263f125cd ("selftests: net: lib: Introduce deferred commands")
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/forwarding/Makefile | 3 ++-
 tools/testing/selftests/net/mptcp/Makefile      | 2 +-
 tools/testing/selftests/net/netfilter/Makefile  | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/Makefile b/tools/testing/selftests/net/forwarding/Makefile
index 224346426ef2220470bf2dbef66198eae9331f56..7d885cff8d79bc6882d2341d0a1a59891fc1cb2e 100644
--- a/tools/testing/selftests/net/forwarding/Makefile
+++ b/tools/testing/selftests/net/forwarding/Makefile
@@ -126,6 +126,7 @@ TEST_FILES := devlink_lib.sh \
 	tc_common.sh
 
 TEST_INCLUDES := \
-	../lib.sh
+	../lib.sh \
+	$(wildcard ../lib/sh/*.sh)
 
 include ../../lib.mk
diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile
index 5d796622e73099d0a0331c1bc8a41f09e1d36b4d..8e3fc05a539797c5e0feab72be69db623ef3fa96 100644
--- a/tools/testing/selftests/net/mptcp/Makefile
+++ b/tools/testing/selftests/net/mptcp/Makefile
@@ -11,7 +11,7 @@ TEST_GEN_FILES = mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq
 
 TEST_FILES := mptcp_lib.sh settings
 
-TEST_INCLUDES := ../lib.sh ../net_helper.sh
+TEST_INCLUDES := ../lib.sh $(wildcard ../lib/sh/*.sh) ../net_helper.sh
 
 EXTRA_CLEAN := *.pcap
 
diff --git a/tools/testing/selftests/net/netfilter/Makefile b/tools/testing/selftests/net/netfilter/Makefile
index 542f7886a0bc2ac016f41d8b70357a8e0c1d271b..9d009f74cfc2da66428b1e23d5884e2c3bc4a85d 100644
--- a/tools/testing/selftests/net/netfilter/Makefile
+++ b/tools/testing/selftests/net/netfilter/Makefile
@@ -55,4 +55,5 @@ TEST_FILES := lib.sh
 TEST_FILES += packetdrill
 
 TEST_INCLUDES := \
-	../lib.sh
+	../lib.sh \
+	$(wildcard ../lib/sh/*.sh)

---
base-commit: ecf99864ea6b1843773589a935bb026951bf12dd
change-id: 20241104-net-next-selftests-lib-sh-deps-cc359ca5602f

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>
Re: [PATCH net-next] selftests: net: include lib/sh/*.sh with lib.sh
Posted by Petr Machata 1 month ago
"Matthieu Baerts (NGI0)" <matttbe@kernel.org> writes:

> Recently, the net/lib.sh file has been modified to include defer.sh from
> net/lib/sh/ directory. The Makefile from net/lib has been modified
> accordingly, but not the ones from the sub-targets using net/lib.sh.
>
> Because of that, the new file is not installed as expected when
> installing the Forwarding, MPTCP, and Netfilter targets, e.g.
>
>   # make -C tools/testing/selftests TARGETS=net/mptcp install \
>         INSTALL_PATH=/tmp/kself
>   # cd /tmp/kself/
>   # ./run_kselftest.sh -c net/mptcp
>     TAP version 13
>     1..7
>     # timeout set to 1800
>     # selftests: net/mptcp: mptcp_connect.sh
>     # ./../lib.sh: line 5: /tmp/kself/net/lib/sh/defer.sh: No such file
>       or directory
>     # (...)
>
> This can be fixed simply by adding all the .sh files from net/lib/sh
> directory to the TEST_INCLUDES variable in the different Makefile's.
>
> Fixes: a6e263f125cd ("selftests: net: lib: Introduce deferred commands")
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>

Gah, I knew moving this to a separate module would end up biting us.
Well, hopefully the wildcard takes care of this once and for all.
Thanks for the fix!

Reviewed-by: Petr Machata <petrm@nvidia.com>