summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlfred E. Heggestad <aeh@db.org>2016-07-22 21:39:52 +0200
committerAlfred E. Heggestad <aeh@db.org>2016-07-22 21:39:52 +0200
commited9ea7fd82a529966eee2919ddf82762cf741d91 (patch)
tree606c2059135d2259d6ceb573edc6892d97b5c0f7 /test
parent3625c3196fe1ba7f3695d30379316c2e250ee54b (diff)
cmd: add application data to cmd_arg
Diffstat (limited to 'test')
-rw-r--r--test/cmd.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/test/cmd.c b/test/cmd.c
index dfd42fa..92325b7 100644
--- a/test/cmd.c
+++ b/test/cmd.c
@@ -3,27 +3,28 @@
*
* Copyright (C) 2010 Creytiv.com
*/
+#include <string.h>
#include <re.h>
#include <baresip.h>
#include "test.h"
-static bool cmd_called;
-
+struct test {
+ unsigned cmd_called;
+};
static int cmd_test(struct re_printf *pf, void *arg)
{
struct cmd_arg *carg = arg;
+ struct test *test = carg->data;
int err = 0;
(void)pf;
- ASSERT_EQ(false, cmd_called);
-
ASSERT_EQ('@', carg->key);
ASSERT_TRUE(NULL == carg->prm);
ASSERT_EQ(true, carg->complete);
- cmd_called = true;
+ ++test->cmd_called;
out:
return err;
@@ -50,22 +51,23 @@ static struct re_printf pf_null = {vprintf_null, 0};
int test_cmd(void)
{
struct cmd_ctx *ctx = 0;
+ struct test test;
int err = 0;
- cmd_called = false;
+ memset(&test, 0, sizeof(test));
err = cmd_register(cmdv, ARRAY_SIZE(cmdv));
ASSERT_EQ(0, err);
/* issue a different command */
- err = cmd_process(&ctx, 'h', &pf_null);
+ err = cmd_process(&ctx, 'h', &pf_null, &test);
ASSERT_EQ(0, err);
- ASSERT_EQ(false, cmd_called);
+ ASSERT_EQ(0, test.cmd_called);
/* issue our command, expect handler to be called */
- err = cmd_process(&ctx, '@', &pf_null);
+ err = cmd_process(&ctx, '@', &pf_null, &test);
ASSERT_EQ(0, err);
- ASSERT_EQ(true, cmd_called);
+ ASSERT_EQ(1, test.cmd_called);
cmd_unregister(cmdv);