diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/cmd.c | 33 |
1 files changed, 22 insertions, 11 deletions
@@ -50,31 +50,36 @@ static struct re_printf pf_null = {vprintf_null, 0}; int test_cmd(void) { + struct commands commands; struct cmd_ctx *ctx = 0; struct test test; int err = 0; memset(&test, 0, sizeof(test)); - err = cmd_register(cmdv, ARRAY_SIZE(cmdv)); + err = cmd_init(&commands); + ASSERT_EQ(0, err); + + err = cmd_register(&commands, cmdv, ARRAY_SIZE(cmdv)); ASSERT_EQ(0, err); /* issue a different command */ - err = cmd_process(&ctx, 'h', &pf_null, &test); + err = cmd_process(&commands, &ctx, 'h', &pf_null, &test); ASSERT_EQ(0, err); ASSERT_EQ(0, test.cmd_called); /* issue our command, expect handler to be called */ - err = cmd_process(&ctx, '@', &pf_null, &test); + err = cmd_process(&commands, &ctx, '@', &pf_null, &test); ASSERT_EQ(0, err); ASSERT_EQ(1, test.cmd_called); - cmd_unregister(cmdv); + cmd_unregister(&commands, cmdv); /* verify that context was not created */ ASSERT_TRUE(NULL == ctx); out: + cmd_close(&commands); return err; } @@ -102,6 +107,7 @@ static const struct cmd longcmdv[] = { int test_cmd_long(void) { + struct commands commands; struct test test; const struct cmd *cmd; static const char *input_str = "/test 123\n"; @@ -111,37 +117,42 @@ int test_cmd_long(void) memset(&test, 0, sizeof(test)); + err = cmd_init(&commands); + ASSERT_EQ(0, err); + /* Verify that the command does not exist */ - cmd = cmd_find_long("test"); + cmd = cmd_find_long(&commands, "test"); ASSERT_TRUE(cmd == NULL); /* Register and verify command */ - err = cmd_register(longcmdv, ARRAY_SIZE(longcmdv)); + err = cmd_register(&commands, longcmdv, ARRAY_SIZE(longcmdv)); ASSERT_EQ(0, err); - cmd = cmd_find_long("test"); + cmd = cmd_find_long(&commands, "test"); ASSERT_TRUE(cmd != NULL); /* Feed it some input data .. */ for (i=0; i<strlen(input_str); i++) { - err = cmd_process(&ctx, input_str[i], &pf_null, &test); + err = cmd_process(&commands, &ctx, input_str[i], + &pf_null, &test); ASSERT_EQ(0, err); } - err = cmd_process_long("test 123", 8, &pf_null, &test); + err = cmd_process_long(&commands, "test 123", 8, &pf_null, &test); ASSERT_EQ(0, err); ASSERT_EQ(2, test.cmd_called); /* Cleanup .. */ - cmd_unregister(longcmdv); + cmd_unregister(&commands, longcmdv); - cmd = cmd_find_long("test"); + cmd = cmd_find_long(&commands, "test"); ASSERT_TRUE(cmd == NULL); out: + cmd_close(&commands); return err; } |