summaryrefslogtreecommitdiffstats
path: root/tests/fsm
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-04-16 17:23:56 +0200
committerHarald Welte <laforge@gnumonks.org>2017-04-16 17:28:23 +0200
commit4585e6755dd569ab620c711f20a3d45d4ad87216 (patch)
treefe76626f7771919be792dae0f2aff21759169ddd /tests/fsm
parent7bc88bbd7ea43082fec181c6892259218ce198a0 (diff)
osmo_fsm: Lookup functions to find FSM Instance by name or ID
Introduce two lookup helper functions to resolve a fsm_instance based on the FSM and name or ID. Also, add related test cases. Change-Id: I707f3ed2795c28a924e64adc612d378c21baa815
Diffstat (limited to 'tests/fsm')
-rw-r--r--tests/fsm/fsm_test.c8
-rw-r--r--tests/fsm/fsm_test.err16
2 files changed, 15 insertions, 9 deletions
diff --git a/tests/fsm/fsm_test.c b/tests/fsm/fsm_test.c
index 7a644213..c3ab91c2 100644
--- a/tests/fsm/fsm_test.c
+++ b/tests/fsm/fsm_test.c
@@ -94,7 +94,7 @@ static struct osmo_fsm_inst *foo(void)
struct osmo_fsm_inst *fi;
LOGP(DMAIN, LOGL_INFO, "Checking FSM allocation\n");
- fi = osmo_fsm_inst_alloc(&fsm, g_ctx, NULL, LOGL_DEBUG, NULL);
+ fi = osmo_fsm_inst_alloc(&fsm, g_ctx, NULL, LOGL_DEBUG, "my_id");
OSMO_ASSERT(fi);
OSMO_ASSERT(fi->fsm == &fsm);
OSMO_ASSERT(!strncmp(osmo_fsm_inst_name(fi), fsm.name, strlen(fsm.name)));
@@ -143,10 +143,16 @@ int main(int argc, char **argv)
log_add_target(stderr_target);
log_set_print_filename(stderr_target, 0);
+
g_ctx = NULL;
+ OSMO_ASSERT(osmo_fsm_find_by_name(fsm.name) == NULL);
osmo_fsm_register(&fsm);
+ OSMO_ASSERT(osmo_fsm_find_by_name(fsm.name) == &fsm);
+ OSMO_ASSERT(osmo_fsm_inst_find_by_name(&fsm, "my_id") == NULL);
finst = foo();
+ OSMO_ASSERT(osmo_fsm_inst_find_by_id(&fsm, "my_id") == finst);
+ OSMO_ASSERT(osmo_fsm_inst_find_by_name(&fsm, "Test FSM(my_id)") == finst);
while (1) {
osmo_select_main(0);
diff --git a/tests/fsm/fsm_test.err b/tests/fsm/fsm_test.err
index c9021bbd..6f031be8 100644
--- a/tests/fsm/fsm_test.err
+++ b/tests/fsm/fsm_test.err
@@ -1,11 +1,11 @@
Checking FSM allocation
-Test FSM{NULL}: Allocated
-Test FSM{NULL}: Received Event 1
-Test FSM{NULL}: Event 1 not permitted
-Test FSM{NULL}: Received Event 0
-Test FSM{NULL}: state_chg to ONE
-Test FSM{ONE}: Received Event 1
-Test FSM{ONE}: state_chg to TWO
-Test FSM{TWO}: Timeout of T2342
+Test FSM(my_id){NULL}: Allocated
+Test FSM(my_id){NULL}: Received Event 1
+Test FSM(my_id){NULL}: Event 1 not permitted
+Test FSM(my_id){NULL}: Received Event 0
+Test FSM(my_id){NULL}: state_chg to ONE
+Test FSM(my_id){ONE}: Received Event 1
+Test FSM(my_id){ONE}: state_chg to TWO
+Test FSM(my_id){TWO}: Timeout of T2342
Timer
 \ No newline at end of file