fedora: include ovs-save file in the rpm package
[cascardo/ovs.git] / tests / test-jsonrpc.c
index d445432..feac0b0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
+ * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,11 +40,14 @@ static struct ovs_cmdl_command *get_all_commands(void);
 static void
 test_jsonrpc_main(int argc, char *argv[])
 {
+    struct ovs_cmdl_context ctx = { .argc = 0, };
     ovs_cmdl_proctitle_init(argc, argv);
     set_program_name(argv[0]);
     service_start(&argc, &argv);
     parse_options(argc, argv);
-    ovs_cmdl_run_command(argc - optind, argv + optind, get_all_commands());
+    ctx.argc = argc - optind;
+    ctx.argv = argv + optind;
+    ovs_cmdl_run_command(&ctx, get_all_commands());
 }
 
 static void
@@ -166,7 +169,7 @@ handle_rpc(struct jsonrpc *rpc, struct jsonrpc_msg *msg, bool *done)
 }
 
 static void
-do_listen(int argc OVS_UNUSED, char *argv[])
+do_listen(struct ovs_cmdl_context *ctx)
 {
     struct pstream *pstream;
     struct jsonrpc **rpcs;
@@ -174,9 +177,9 @@ do_listen(int argc OVS_UNUSED, char *argv[])
     bool done;
     int error;
 
-    error = jsonrpc_pstream_open(argv[1], &pstream, DSCP_DEFAULT);
+    error = jsonrpc_pstream_open(ctx->argv[1], &pstream, DSCP_DEFAULT);
     if (error) {
-        ovs_fatal(error, "could not listen on \"%s\"", argv[1]);
+        ovs_fatal(error, "could not listen on \"%s\"", ctx->argv[1]);
     }
 
     daemonize();
@@ -249,7 +252,7 @@ do_listen(int argc OVS_UNUSED, char *argv[])
 }
 
 static void
-do_request(int argc OVS_UNUSED, char *argv[])
+do_request(struct ovs_cmdl_context *ctx)
 {
     struct jsonrpc_msg *msg;
     struct jsonrpc *rpc;
@@ -259,18 +262,18 @@ do_request(int argc OVS_UNUSED, char *argv[])
     char *string;
     int error;
 
-    method = argv[2];
-    params = parse_json(argv[3]);
+    method = ctx->argv[2];
+    params = parse_json(ctx->argv[3]);
     msg = jsonrpc_create_request(method, params, NULL);
     string = jsonrpc_msg_is_valid(msg);
     if (string) {
         ovs_fatal(0, "not a valid JSON-RPC request: %s", string);
     }
 
-    error = stream_open_block(jsonrpc_stream_open(argv[1], &stream,
+    error = stream_open_block(jsonrpc_stream_open(ctx->argv[1], &stream,
                               DSCP_DEFAULT), &stream);
     if (error) {
-        ovs_fatal(error, "could not open \"%s\"", argv[1]);
+        ovs_fatal(error, "could not open \"%s\"", ctx->argv[1]);
     }
     rpc = jsonrpc_open(stream);
 
@@ -289,7 +292,7 @@ do_request(int argc OVS_UNUSED, char *argv[])
 }
 
 static void
-do_notify(int argc OVS_UNUSED, char *argv[])
+do_notify(struct ovs_cmdl_context *ctx)
 {
     struct jsonrpc_msg *msg;
     struct jsonrpc *rpc;
@@ -299,18 +302,18 @@ do_notify(int argc OVS_UNUSED, char *argv[])
     char *string;
     int error;
 
-    method = argv[2];
-    params = parse_json(argv[3]);
+    method = ctx->argv[2];
+    params = parse_json(ctx->argv[3]);
     msg = jsonrpc_create_notify(method, params);
     string = jsonrpc_msg_is_valid(msg);
     if (string) {
         ovs_fatal(0, "not a JSON RPC-valid notification: %s", string);
     }
 
-    error = stream_open_block(jsonrpc_stream_open(argv[1], &stream,
+    error = stream_open_block(jsonrpc_stream_open(ctx->argv[1], &stream,
                               DSCP_DEFAULT), &stream);
     if (error) {
-        ovs_fatal(error, "could not open \"%s\"", argv[1]);
+        ovs_fatal(error, "could not open \"%s\"", ctx->argv[1]);
     }
     rpc = jsonrpc_open(stream);
 
@@ -322,7 +325,7 @@ do_notify(int argc OVS_UNUSED, char *argv[])
 }
 
 static void
-do_help(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
+do_help(struct ovs_cmdl_context *ctx OVS_UNUSED)
 {
     usage();
 }