summaryrefslogtreecommitdiffstats
path: root/nserver/tests/ncmd_tests.c
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-12-02 20:58:50 -0500
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:35 -0400
commitb20d3221befacb0cfd04829fb9bfd9f1276f7ea4 (patch)
tree3b5c5a65bebfa956d33ac9bd960ff4350dc223ec /nserver/tests/ncmd_tests.c
parentc98f28485e5848701fdee76b6506f14d6e75a225 (diff)
nserver: Add call_function.
* nserver/src/ncmd.c (call_function): New function definition. Initial version. * nserver/src/ncmd.h (call_function): New function declaration. * nserver/tests/ncmd_tests.c (test_call_function): Test for call_function. (all_tests): Add test_call_function.
Diffstat (limited to 'nserver/tests/ncmd_tests.c')
-rw-r--r--nserver/tests/ncmd_tests.c65
1 files changed, 65 insertions, 0 deletions
diff --git a/nserver/tests/ncmd_tests.c b/nserver/tests/ncmd_tests.c
index 3317854..d4acb7c 100644
--- a/nserver/tests/ncmd_tests.c
+++ b/nserver/tests/ncmd_tests.c
@@ -209,6 +209,70 @@ char *test_find_function()
return NULL;
}
+char *test_call_function()
+{
+ struct bstrList *parts = NULL;
+ char *msg = 0;
+
+ char *bacon = "/create bacon";
+ parts = cmd_parts(bacon);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_CREATE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ char *ham = "/create ham";
+ parts = cmd_parts(ham);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_CREATE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ char *beef = "/create beef";
+ parts = cmd_parts(beef);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_CREATE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ char *bacon_sample = "/sample bacon 4.2";
+ parts = cmd_parts(bacon_sample);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_SAMPLE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ bacon_sample = "/Sample bacon 6.9";
+ parts = cmd_parts(bacon_sample);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_SAMPLE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ char *bacon_mean = "/mean bacon";
+ parts = cmd_parts(bacon_mean);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_MEAN, parts);
+ mu_assert(strcmp(msg, "Mean: 5.55\n") == 0, "call function failed");
+
+ char *bacon_dump = "/dump bacon";
+ parts = cmd_parts(bacon_dump);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_DUMP, parts);
+ mu_assert(strcmp(msg, "sum: 11.100000, sumsq: 65.250000, n: 2, min: 4.200000, max: 6.900000, mean: 5.550000, stddev: 1.909188\n") == 0, "call function failed");
+
+ char *bacon_delete = "/delete bacon";
+ parts = cmd_parts(bacon_delete);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_DELETE, parts);
+ mu_assert(strcmp(msg, "OK\n") == 0, "call function failed");
+
+ char *list = "/list";
+ parts = cmd_parts(list);
+ mu_assert(parts != NULL, "cmd_parts failed");
+ msg = call_function(NS_LIST, parts);
+ mu_assert(strcmp(msg, "ham\nbeef\n") == 0
+ || strcmp(msg, "beef\nham\n") == 0,
+ "call function failed");
+
+ return NULL;
+}
+
char *all_tests()
{
mu_suite_start();
@@ -217,6 +281,7 @@ char *all_tests()
mu_run_test(test_check_cmd);
mu_run_test(test_cmd_parts);
mu_run_test(test_find_function);
+ mu_run_test(test_call_function);
return NULL;
}