diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-04-16 17:23:56 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-04-16 17:28:23 +0200 |
commit | 4585e6755dd569ab620c711f20a3d45d4ad87216 (patch) | |
tree | fe76626f7771919be792dae0f2aff21759169ddd /tests/fsm | |
parent | 7bc88bbd7ea43082fec181c6892259218ce198a0 (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.c | 8 | ||||
-rw-r--r-- | tests/fsm/fsm_test.err | 16 |
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 -[0;mTest FSM{NULL}: Allocated -[0;mTest FSM{NULL}: Received Event 1 -[0;mTest FSM{NULL}: Event 1 not permitted -[0;mTest FSM{NULL}: Received Event 0 -[0;mTest FSM{NULL}: state_chg to ONE -[0;mTest FSM{ONE}: Received Event 1 -[0;mTest FSM{ONE}: state_chg to TWO -[0;mTest FSM{TWO}: Timeout of T2342 +[0;mTest FSM(my_id){NULL}: Allocated +[0;mTest FSM(my_id){NULL}: Received Event 1 +[0;mTest FSM(my_id){NULL}: Event 1 not permitted +[0;mTest FSM(my_id){NULL}: Received Event 0 +[0;mTest FSM(my_id){NULL}: state_chg to ONE +[0;mTest FSM(my_id){ONE}: Received Event 1 +[0;mTest FSM(my_id){ONE}: state_chg to TWO +[0;mTest FSM(my_id){TWO}: Timeout of T2342 [0;mTimer [0;m
\ No newline at end of file |