]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-tests: Add test code for ctdb_sys_have_ip()
authorMartin Schwenke <mschwenke@ddn.com>
Sun, 29 Sep 2024 02:04:20 +0000 (12:04 +1000)
committerAnoop C S <anoopcs@samba.org>
Mon, 7 Oct 2024 15:58:38 +0000 (15:58 +0000)
Do not add any automated test cases because they will always be racy.
This allows manual testing of the function.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
ctdb/tests/src/system_socket_test.c

index 436f52a2df8023c73adb8e6f96ca5231414378d1..ff9b066ce4ef6cc969f8c3b7d42fabed8cc00c7c 100644 (file)
@@ -222,12 +222,30 @@ static void test_tcp(const char *src_str,
        assert(ret == 0);
 }
 
+static void test_haveip(const char *ipaddr_str)
+{
+       ctdb_sock_addr addr;
+       bool have_ip;
+       int ret;
+
+       ret = ctdb_sock_addr_from_string(ipaddr_str, &addr, false);
+       assert(ret == 0);
+
+       have_ip = ctdb_sys_have_ip(&addr);
+       if (have_ip) {
+               printf("true\n");
+       } else {
+               printf("false\n");
+       }
+}
+
 static void usage(const char *prog)
 {
        fprintf(stderr, "usage: %s <cmd> [<arg> ...]\n", prog);
        fprintf(stderr, "  commands:\n");
        fprintf(stderr, "    types\n");
        fprintf(stderr, "    arp <ipaddr> <hwaddr> [reply]\n");
+       fprintf(stderr, "    haveip <ipaddr>\n");
        fprintf(stderr, "    tcp <src> <dst> <seq> <ack> <rst>\n");
 
        exit(1);
@@ -258,6 +276,11 @@ int main(int argc, char **argv)
                        usage(argv[0]);
                }
                test_tcp(argv[2], argv[3], argv[4], argv[5], argv[6]);
+       } else if (strcmp(argv[1], "haveip") == 0) {
+               if (argc != 3) {
+                       usage(argv[0]);
+               }
+               test_haveip(argv[2]);
        } else {
                usage(argv[0]);
        }