ofpbuf: Fix trivial spelling typo.
[cascardo/ovs.git] / tests / test-reconnect.c
index 9d1897f..76e43ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2009, 2010, 2011, 2012, 2014, 2016 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  */
 
 #include <config.h>
-
+#undef NDEBUG
 #include "reconnect.h"
-
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-
 #include "command-line.h"
 #include "compiler.h"
+#include "ovstest.h"
 #include "svec.h"
 #include "util.h"
-#include "vlog.h"
+#include "openvswitch/vlog.h"
 
 static struct reconnect *reconnect;
 static int now;
 
-static const struct command commands[];
-
 static void diff_stats(const struct reconnect_stats *old,
                        const struct reconnect_stats *new,
                        int delta);
+static const struct ovs_cmdl_command *get_all_commands(void);
 
-int
-main(void)
+static void
+test_reconnect_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
 {
-    extern struct vlog_module VLM_reconnect;
     struct reconnect_stats prev;
     unsigned int old_max_tries;
     int old_time;
     char line[128];
 
-    vlog_set_levels(&VLM_reconnect, VLF_ANY_FACILITY, VLL_OFF);
+    vlog_set_levels_from_string_assert("reconnect:off");
 
     now = 1000;
     reconnect = reconnect_create(now);
@@ -69,7 +66,11 @@ main(void)
         svec_parse_words(&args, line);
         svec_terminate(&args);
         if (!svec_is_empty(&args)) {
-            run_command(args.n, args.names, commands);
+            struct ovs_cmdl_context ctx = {
+                .argc = args.n,
+                .argv = args.names,
+            };
+            ovs_cmdl_run_command(&ctx, get_all_commands());
         }
         svec_destroy(&args);
 
@@ -87,24 +88,22 @@ main(void)
 
         old_time = now;
     }
-
-    return 0;
 }
 
 static void
-do_enable(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_enable(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_enable(reconnect, now);
 }
 
 static void
-do_disable(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_disable(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_disable(reconnect, now);
 }
 
 static void
-do_force_reconnect(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_force_reconnect(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_force_reconnect(reconnect, now);
 }
@@ -124,42 +123,42 @@ error_from_string(const char *s)
 }
 
 static void
-do_disconnected(int argc OVS_UNUSED, char *argv[])
+do_disconnected(struct ovs_cmdl_context *ctx)
 {
-    reconnect_disconnected(reconnect, now, error_from_string(argv[1]));
+    reconnect_disconnected(reconnect, now, error_from_string(ctx->argv[1]));
 }
 
 static void
-do_connecting(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_connecting(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_connecting(reconnect, now);
 }
 
 static void
-do_connect_failed(int argc OVS_UNUSED, char *argv[])
+do_connect_failed(struct ovs_cmdl_context *ctx)
 {
-    reconnect_connect_failed(reconnect, now, error_from_string(argv[1]));
+    reconnect_connect_failed(reconnect, now, error_from_string(ctx->argv[1]));
 }
 
 static void
-do_connected(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_connected(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_connected(reconnect, now);
 }
 
 static void
-do_activity(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_activity(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_activity(reconnect, now);
 }
 
 static void
-do_run(int argc, char *argv[])
+do_run(struct ovs_cmdl_context *ctx)
 {
     enum reconnect_action action;
 
-    if (argc > 1) {
-        now += atoi(argv[1]);
+    if (ctx->argc > 1) {
+        now += atoi(ctx->argv[1]);
     }
 
     action = reconnect_run(reconnect, now);
@@ -185,13 +184,13 @@ do_run(int argc, char *argv[])
 }
 
 static void
-do_advance(int argc OVS_UNUSED, char *argv[])
+do_advance(struct ovs_cmdl_context *ctx)
 {
-    now += atoi(argv[1]);
+    now += atoi(ctx->argv[1]);
 }
 
 static void
-do_timeout(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_timeout(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     int timeout = reconnect_timeout(reconnect, now);
     if (timeout >= 0) {
@@ -203,9 +202,9 @@ do_timeout(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
 }
 
 static void
-do_set_max_tries(int argc OVS_UNUSED, char *argv[])
+do_set_max_tries(struct ovs_cmdl_context *ctx)
 {
-    reconnect_set_max_tries(reconnect, atoi(argv[1]));
+    reconnect_set_max_tries(reconnect, atoi(ctx->argv[1]));
 }
 
 static void
@@ -255,38 +254,46 @@ diff_stats(const struct reconnect_stats *old,
 }
 
 static void
-do_set_passive(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_set_passive(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_set_passive(reconnect, true, now);
 }
 
 static void
-do_listening(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_listening(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     reconnect_listening(reconnect, now);
 }
 
 static void
-do_listen_error(int argc OVS_UNUSED, char *argv[])
+do_listen_error(struct ovs_cmdl_context *ctx)
 {
-    reconnect_listen_error(reconnect, now, atoi(argv[1]));
+    reconnect_listen_error(reconnect, now, atoi(ctx->argv[1]));
 }
 
-static const struct command commands[] = {
-    { "enable", 0, 0, do_enable },
-    { "disable", 0, 0, do_disable },
-    { "force-reconnect", 0, 0, do_force_reconnect },
-    { "disconnected", 0, 1, do_disconnected },
-    { "connecting", 0, 0, do_connecting },
-    { "connect-failed", 0, 1, do_connect_failed },
-    { "connected", 0, 0, do_connected },
-    { "activity", 0, 0, do_activity },
-    { "run", 0, 1, do_run },
-    { "advance", 1, 1, do_advance },
-    { "timeout", 0, 0, do_timeout },
-    { "set-max-tries", 1, 1, do_set_max_tries },
-    { "passive", 0, 0, do_set_passive },
-    { "listening", 0, 0, do_listening },
-    { "listen-error", 1, 1, do_listen_error },
-    { NULL, 0, 0, NULL },
+static const struct ovs_cmdl_command all_commands[] = {
+    { "enable", NULL, 0, 0, do_enable },
+    { "disable", NULL, 0, 0, do_disable },
+    { "force-reconnect", NULL, 0, 0, do_force_reconnect },
+    { "disconnected", NULL, 0, 1, do_disconnected },
+    { "connecting", NULL, 0, 0, do_connecting },
+    { "connect-failed", NULL, 0, 1, do_connect_failed },
+    { "connected", NULL, 0, 0, do_connected },
+    { "activity", NULL, 0, 0, do_activity },
+    { "run", NULL, 0, 1, do_run },
+    { "advance", NULL, 1, 1, do_advance },
+    { "timeout", NULL, 0, 0, do_timeout },
+    { "set-max-tries", NULL, 1, 1, do_set_max_tries },
+    { "passive", NULL, 0, 0, do_set_passive },
+    { "listening", NULL, 0, 0, do_listening },
+    { "listen-error", NULL, 1, 1, do_listen_error },
+    { NULL, NULL, 0, 0, NULL },
 };
+
+static const struct ovs_cmdl_command *
+get_all_commands(void)
+{
+    return all_commands;
+}
+
+OVSTEST_REGISTER("test-reconnect", test_reconnect_main);