All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base"
@ 2022-05-14  0:19 Geliang Tang
  2022-05-14  8:26 ` Matthieu Baerts
  0 siblings, 1 reply; 3+ messages in thread
From: Geliang Tang @ 2022-05-14  0:19 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

This code using ASSERT_* instead of CHECK_FAIL should be
squashed into patch #3, it shouldn't be in patch #4.

Squash to "[mptcp-next,v2,03/14] selftests/bpf: add MPTCP
test base" in "update bpf patches on export branch" series.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/prog_tests/mptcp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index cb0389ca8690..301f19375811 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -103,25 +103,25 @@ void test_base(void)
 	int server_fd, cgroup_fd;
 
 	cgroup_fd = test__join_cgroup("/mptcp");
-	if (CHECK_FAIL(cgroup_fd < 0))
+	if (!ASSERT_GE(cgroup_fd, 0, "test__join_cgroup"))
 		return;
 
 	/* without MPTCP */
 	server_fd = start_server(AF_INET, SOCK_STREAM, NULL, 0, 0);
-	if (CHECK_FAIL(server_fd < 0))
+	if (!ASSERT_GE(server_fd, 0, "start_server"))
 		goto with_mptcp;
 
-	CHECK_FAIL(run_test(cgroup_fd, server_fd, false));
+	ASSERT_OK(run_test(cgroup_fd, server_fd, false), "run_test tcp");
 
 	close(server_fd);
 
 with_mptcp:
 	/* with MPTCP */
 	server_fd = start_mptcp_server(AF_INET, NULL, 0, 0);
-	if (CHECK_FAIL(server_fd < 0))
+	if (!ASSERT_GE(server_fd, 0, "start_mptcp_server"))
 		goto close_cgroup_fd;
 
-	CHECK_FAIL(run_test(cgroup_fd, server_fd, true));
+	ASSERT_OK(run_test(cgroup_fd, server_fd, true), "run_test mptcp");
 
 	close(server_fd);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base"
  2022-05-14  0:19 [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base" Geliang Tang
@ 2022-05-14  8:26 ` Matthieu Baerts
  0 siblings, 0 replies; 3+ messages in thread
From: Matthieu Baerts @ 2022-05-14  8:26 UTC (permalink / raw)
  To: Geliang Tang, mptcp

Hi Geliang,

On 14/05/2022 02:19, Geliang Tang wrote:
> This code using ASSERT_* instead of CHECK_FAIL should be
> squashed into patch #3, it shouldn't be in patch #4.
> 
> Squash to "[mptcp-next,v2,03/14] selftests/bpf: add MPTCP
> test base" in "update bpf patches on export branch" series.

Good catch, thank you!

- 6e72fba9dc4f: "squashed" in "selftests/bpf: add MPTCP test base"
- Results: c9545a538777..71f8702ac0b2 (export)

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base"
  2022-05-17  7:43 [PATCH mptcp-next] Squash to "bpf: add bpf_skc_to_mptcp_sock_proto" Geliang Tang
@ 2022-05-17  7:43 ` Geliang Tang
  0 siblings, 0 replies; 3+ messages in thread
From: Geliang Tang @ 2022-05-17  7:43 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop connect_to_mptcp_fd (Martin)
Use BPF test skeleton (Andrii)
Use ASSERT_EQ (Andrii)

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/network_helpers.c | 19 +++-----
 tools/testing/selftests/bpf/network_helpers.h |  2 -
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 44 +++++--------------
 3 files changed, 17 insertions(+), 48 deletions(-)

diff --git a/tools/testing/selftests/bpf/network_helpers.c b/tools/testing/selftests/bpf/network_helpers.c
index c9a2e39e34fc..59cf81ec55af 100644
--- a/tools/testing/selftests/bpf/network_helpers.c
+++ b/tools/testing/selftests/bpf/network_helpers.c
@@ -264,7 +264,7 @@ int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts)
 	struct sockaddr_storage addr;
 	struct sockaddr_in *addr_in;
 	socklen_t addrlen, optlen;
-	int fd, type;
+	int fd, type, protocol;
 
 	if (!opts)
 		opts = &default_opts;
@@ -275,6 +275,11 @@ int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts)
 		return -1;
 	}
 
+	if (getsockopt(server_fd, SOL_SOCKET, SO_PROTOCOL, &protocol, &optlen)) {
+		log_err("getsockopt(SOL_PROTOCOL)");
+		return -1;
+	}
+
 	addrlen = sizeof(addr);
 	if (getsockname(server_fd, (struct sockaddr *)&addr, &addrlen)) {
 		log_err("Failed to get server addr");
@@ -282,7 +287,7 @@ int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts)
 	}
 
 	addr_in = (struct sockaddr_in *)&addr;
-	fd = socket(addr_in->sin_family, type, opts->protocol);
+	fd = socket(addr_in->sin_family, type, protocol);
 	if (fd < 0) {
 		log_err("Failed to create client socket");
 		return -1;
@@ -315,16 +320,6 @@ int connect_to_fd(int server_fd, int timeout_ms)
 	return connect_to_fd_opts(server_fd, &opts);
 }
 
-int connect_to_mptcp_fd(int server_fd, int timeout_ms)
-{
-	struct network_helper_opts opts = {
-		.timeout_ms = timeout_ms,
-		.protocol = IPPROTO_MPTCP,
-	};
-
-	return connect_to_fd_opts(server_fd, &opts);
-}
-
 int connect_fd_to_fd(int client_fd, int server_fd, int timeout_ms)
 {
 	struct sockaddr_storage addr;
diff --git a/tools/testing/selftests/bpf/network_helpers.h b/tools/testing/selftests/bpf/network_helpers.h
index e0feb115b2ae..f882c691b790 100644
--- a/tools/testing/selftests/bpf/network_helpers.h
+++ b/tools/testing/selftests/bpf/network_helpers.h
@@ -21,7 +21,6 @@ struct network_helper_opts {
 	const char *cc;
 	int timeout_ms;
 	bool must_fail;
-	int protocol;
 };
 
 /* ipv4 test vector */
@@ -50,7 +49,6 @@ int *start_reuseport_server(int family, int type, const char *addr_str,
 			    unsigned int nr_listens);
 void free_fds(int *fds, unsigned int nr_close_fds);
 int connect_to_fd(int server_fd, int timeout_ms);
-int connect_to_mptcp_fd(int server_fd, int timeout_ms);
 int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts);
 int connect_fd_to_fd(int client_fd, int server_fd, int timeout_ms);
 int fastopen_connect(int server_fd, const char *data, unsigned int data_len,
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index 301f19375811..59113eb982e0 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -5,6 +5,7 @@
 #include <test_progs.h>
 #include "cgroup_helpers.h"
 #include "network_helpers.h"
+#include "mptcp_sock.skel.h"
 
 struct mptcp_storage {
 	__u32 invoked;
@@ -23,17 +24,11 @@ static int verify_sk(int map_fd, int client_fd, const char *msg, __u32 is_mptcp)
 	if (!ASSERT_OK(err, "bpf_map_lookup_elem"))
 		return err;
 
-	if (val.invoked != 1) {
-		log_err("%s: unexpected invoked count %d != 1",
-			msg, val.invoked);
+	if (!ASSERT_EQ(val.invoked, 1, "unexpected invoked count"))
 		err++;
-	}
 
-	if (val.is_mptcp != 0) {
-		log_err("%s: unexpected bpf_tcp_sock.is_mptcp %d != 0",
-			msg, val.is_mptcp);
+	if (!ASSERT_EQ(val.is_mptcp, 0, "unexpected is_mptcp"))
 		err++;
-	}
 
 	return err;
 }
@@ -41,37 +36,19 @@ static int verify_sk(int map_fd, int client_fd, const char *msg, __u32 is_mptcp)
 static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
 {
 	int client_fd, prog_fd, map_fd, err;
-	struct bpf_program *prog;
-	struct bpf_object *obj;
-	struct bpf_map *map;
+	struct mptcp_sock *sock_skel;
 
-	obj = bpf_object__open("./mptcp_sock.o");
-	if (libbpf_get_error(obj))
+	sock_skel = mptcp_sock__open_and_load();
+	if (!ASSERT_OK_PTR(sock_skel, "skel_open_load"))
 		return -EIO;
 
-	err = bpf_object__load(obj);
-	if (!ASSERT_OK(err, "bpf_object__load"))
-		goto out;
-
-	prog = bpf_object__find_program_by_name(obj, "_sockops");
-	if (!ASSERT_OK_PTR(prog, "bpf_object__find_program_by_name")) {
-		err = -EIO;
-		goto out;
-	}
-
-	prog_fd = bpf_program__fd(prog);
+	prog_fd = bpf_program__fd(sock_skel->progs._sockops);
 	if (!ASSERT_GE(prog_fd, 0, "bpf_program__fd")) {
 		err = -EIO;
 		goto out;
 	}
 
-	map = bpf_object__find_map_by_name(obj, "socket_storage_map");
-	if (!ASSERT_OK_PTR(map, "bpf_object__find_map_by_name")) {
-		err = -EIO;
-		goto out;
-	}
-
-	map_fd = bpf_map__fd(map);
+	map_fd = bpf_map__fd(sock_skel->maps.socket_storage_map);
 	if (!ASSERT_GE(map_fd, 0, "bpf_map__fd")) {
 		err = -EIO;
 		goto out;
@@ -81,8 +58,7 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
 	if (!ASSERT_OK(err, "bpf_prog_attach"))
 		goto out;
 
-	client_fd = is_mptcp ? connect_to_mptcp_fd(server_fd, 0) :
-			       connect_to_fd(server_fd, 0);
+	client_fd = connect_to_fd(server_fd, 0);
 	if (!ASSERT_GE(client_fd, 0, "connect to fd")) {
 		err = -EIO;
 		goto out;
@@ -94,7 +70,7 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
 	close(client_fd);
 
 out:
-	bpf_object__close(obj);
+	mptcp_sock__destroy(sock_skel);
 	return err;
 }
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-17  7:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-14  0:19 [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base" Geliang Tang
2022-05-14  8:26 ` Matthieu Baerts
2022-05-17  7:43 [PATCH mptcp-next] Squash to "bpf: add bpf_skc_to_mptcp_sock_proto" Geliang Tang
2022-05-17  7:43 ` [PATCH mptcp-next] Squash to "selftests/bpf: add MPTCP test base" Geliang Tang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.