]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/bpf: Add more tests for test_txmsg_push_pop in test_sockmap
authorZijian Zhang <zijianzhang@bytedance.com>
Wed, 6 Nov 2024 22:25:17 +0000 (22:25 +0000)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 7 Nov 2024 00:01:53 +0000 (16:01 -0800)
Add more tests for test_txmsg_push_pop in test_sockmap for better coverage

Signed-off-by: Zijian Zhang <zijianzhang@bytedance.com>
Reviewed-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/r/20241106222520.527076-6-zijianzhang@bytedance.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/test_sockmap.c

index 61a747afcd05fbf6e72ae267f211a1020ff4d595..e5c7ecbe57e38b56c565b8a8dda7e56169a65051 100644 (file)
@@ -1795,12 +1795,49 @@ static void test_txmsg_push(int cgrp, struct sockmap_options *opt)
 
 static void test_txmsg_push_pop(int cgrp, struct sockmap_options *opt)
 {
+       /* Test push/pop range overlapping */
        txmsg_pass = 1;
        txmsg_start_push = 1;
        txmsg_end_push = 10;
        txmsg_start_pop = 5;
        txmsg_pop = 4;
        test_send_large(opt, cgrp);
+
+       txmsg_pass = 1;
+       txmsg_start_push = 1;
+       txmsg_end_push = 10;
+       txmsg_start_pop = 5;
+       txmsg_pop = 16;
+       test_send_large(opt, cgrp);
+
+       txmsg_pass = 1;
+       txmsg_start_push = 5;
+       txmsg_end_push = 4;
+       txmsg_start_pop = 1;
+       txmsg_pop = 10;
+       test_send_large(opt, cgrp);
+
+       txmsg_pass = 1;
+       txmsg_start_push = 5;
+       txmsg_end_push = 16;
+       txmsg_start_pop = 1;
+       txmsg_pop = 10;
+       test_send_large(opt, cgrp);
+
+       /* Test push/pop range non-overlapping */
+       txmsg_pass = 1;
+       txmsg_start_push = 1;
+       txmsg_end_push = 10;
+       txmsg_start_pop = 16;
+       txmsg_pop = 4;
+       test_send_large(opt, cgrp);
+
+       txmsg_pass = 1;
+       txmsg_start_push = 16;
+       txmsg_end_push = 10;
+       txmsg_start_pop = 5;
+       txmsg_pop = 4;
+       test_send_large(opt, cgrp);
 }
 
 static void test_txmsg_apply(int cgrp, struct sockmap_options *opt)