OSDN Git Service

selftests/bpf: test_sockmap, print additional test options
authorPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Thu, 31 May 2018 04:42:40 +0000 (13:42 +0900)
committerDaniel Borkmann <daniel@iogearbox.net>
Sat, 2 Jun 2018 04:13:56 +0000 (06:13 +0200)
Print values of test options like apply, cork, start, end so that
individual failed tests can be identified for manual run

Acked-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_sockmap.c

index 2bc70e1..05c8cb7 100644 (file)
@@ -876,6 +876,8 @@ static char *test_to_str(int test)
 #define OPTSTRING 60
 static void test_options(char *options)
 {
+       char tstr[OPTSTRING];
+
        memset(options, 0, OPTSTRING);
 
        if (txmsg_pass)
@@ -888,14 +890,22 @@ static void test_options(char *options)
                strncat(options, "redir_noisy,", OPTSTRING);
        if (txmsg_drop)
                strncat(options, "drop,", OPTSTRING);
-       if (txmsg_apply)
-               strncat(options, "apply,", OPTSTRING);
-       if (txmsg_cork)
-               strncat(options, "cork,", OPTSTRING);
-       if (txmsg_start)
-               strncat(options, "start,", OPTSTRING);
-       if (txmsg_end)
-               strncat(options, "end,", OPTSTRING);
+       if (txmsg_apply) {
+               snprintf(tstr, OPTSTRING, "apply %d,", txmsg_apply);
+               strncat(options, tstr, OPTSTRING);
+       }
+       if (txmsg_cork) {
+               snprintf(tstr, OPTSTRING, "cork %d,", txmsg_cork);
+               strncat(options, tstr, OPTSTRING);
+       }
+       if (txmsg_start) {
+               snprintf(tstr, OPTSTRING, "start %d,", txmsg_start);
+               strncat(options, tstr, OPTSTRING);
+       }
+       if (txmsg_end) {
+               snprintf(tstr, OPTSTRING, "end %d,", txmsg_end);
+               strncat(options, tstr, OPTSTRING);
+       }
        if (txmsg_ingress)
                strncat(options, "ingress,", OPTSTRING);
        if (txmsg_skb)
@@ -904,7 +914,7 @@ static void test_options(char *options)
 
 static int __test_exec(int cgrp, int test, struct sockmap_options *opt)
 {
-       char *options = calloc(60, sizeof(char));
+       char *options = calloc(OPTSTRING, sizeof(char));
        int err;
 
        if (test == SENDPAGE)