]> granicus.if.org Git - strace/commitdiff
tests: extend coverage of netlink_diag_req decoder
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 12 Jul 2017 19:33:25 +0000 (19:33 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 12 Jul 2017 21:08:03 +0000 (21:08 +0000)
Add one more NETLINK_SOCK_DIAG check to ressurrect full coverage
of netlink_diag_req decoder that was lost after commit
v4.18-58-g37ef2d0d.

* tests/netlink_sock_diag.c (test_netlink_diag_req): Add a check for
sdiag_protocol != NDIAG_PROTO_ALL.

tests/netlink_sock_diag.c

index 8fd5c779d10ab140e02f179cee429313c4a3a4ac..8f935c0334c11a2a1cfab94fd80229bfaa8f381d 100644 (file)
@@ -275,7 +275,7 @@ static void
 test_netlink_diag_req(const int fd)
 {
        void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
-       static const struct netlink_diag_req req = {
+       struct netlink_diag_req req = {
                .sdiag_family = AF_NETLINK,
                .sdiag_protocol = NDIAG_PROTO_ALL,
                .ndiag_ino = 0xfacefeed,
@@ -290,6 +290,17 @@ test_netlink_diag_req(const int fd)
                       printf(", ndiag_show=NDIAG_SHOW_MEMINFO");
                       PRINT_FIELD_COOKIE(", ", req, ndiag_cookie);
                       printf("}"));
+
+       req.sdiag_protocol = NETLINK_ROUTE;
+       req.ndiag_show = NDIAG_SHOW_GROUPS;
+       TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK,
+                      SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req,
+                      printf("{sdiag_family=AF_NETLINK"),
+                      printf(", sdiag_protocol=NETLINK_ROUTE");
+                      PRINT_FIELD_U(", ", req, ndiag_ino);
+                      printf(", ndiag_show=NDIAG_SHOW_GROUPS");
+                      PRINT_FIELD_COOKIE(", ", req, ndiag_cookie);
+                      printf("}"));
 }
 
 static void