From: Geliang Tang <tanggeliang@kylinos.cn>
Use SCHED_TEST macro.
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
.../testing/selftests/bpf/prog_tests/mptcp.c | 66 +++++++++----------
1 file changed, 31 insertions(+), 35 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index f86ae0be0167..8d3e2ab9b16a 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -573,41 +573,38 @@ static void test_default(void)
cleanup_netns(nstoken);
}
-static void test_first(void)
-{
- struct mptcp_bpf_first *first_skel;
- int server_fd, client_fd;
- struct nstoken *nstoken;
- struct bpf_link *link;
-
- first_skel = mptcp_bpf_first__open_and_load();
- if (!ASSERT_OK_PTR(first_skel, "bpf_first__open_and_load"))
- return;
-
- link = bpf_map__attach_struct_ops(first_skel->maps.first);
- if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) {
- mptcp_bpf_first__destroy(first_skel);
- return;
- }
-
- nstoken = sched_init("subflow", "bpf_first");
- if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_first"))
- goto fail;
- server_fd = start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0);
- client_fd = connect_to_fd(server_fd, 0);
-
- send_data(server_fd, client_fd, "bpf_first");
- ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1");
- ASSERT_GT(has_bytes_sent(ADDR_2), 0, "has_bytes_sent addr_2");
-
- close(client_fd);
- close(server_fd);
-fail:
- cleanup_netns(nstoken);
- bpf_link__destroy(link);
- mptcp_bpf_first__destroy(first_skel);
+#define SCHED_TEST(name, addr2) \
+static void test_##name(void) \
+{ \
+ struct mptcp_bpf_##name *skel; \
+ struct nstoken *nstoken; \
+ struct bpf_link *link; \
+ struct bpf_map *map; \
+ \
+ skel = mptcp_bpf_##name##__open_and_load(); \
+ if (!ASSERT_OK_PTR(skel, "open_and_load:" #name)) \
+ return; \
+ \
+ map = bpf_object__find_map_by_name(skel->obj, #name); \
+ link = bpf_map__attach_struct_ops(map); \
+ if (!ASSERT_OK_PTR(link, "attach_struct_ops:" #name)) \
+ goto fail; \
+ \
+ nstoken = sched_init("subflow", "bpf_" #name); \
+ if (!ASSERT_OK_PTR(nstoken, "sched_init:" #name)) \
+ goto out; \
+ \
+ send_data_and_verify(#name, atoi(#addr2)); \
+ \
+ cleanup_netns(nstoken); \
+out: \
+ bpf_link__destroy(link); \
+fail: \
+ mptcp_bpf_##name##__destroy(skel); \
}
+SCHED_TEST(first, 0);
+
static void test_bkup(void)
{
struct mptcp_bpf_bkup *bkup_skel;
@@ -760,8 +757,7 @@ void test_mptcp(void)
RUN_MPTCP_TEST(mptcpify);
RUN_MPTCP_TEST(subflow);
RUN_MPTCP_TEST(default);
- if (test__start_subtest("first"))
- test_first();
+ RUN_MPTCP_TEST(first);
if (test__start_subtest("bkup"))
test_bkup();
if (test__start_subtest("rr"))
--
2.40.1