summaryrefslogtreecommitdiffstats
path: root/tests/fsm
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-11-02 10:37:58 +0100
committerHarald Welte <laforge@gnumonks.org>2016-11-08 19:35:19 +0000
commit3de97e192688b75a24077bb7072030f4a4dc5ef3 (patch)
tree7eaa4cf33153e725dc54df488ff4d5b45f4ae114 /tests/fsm
parente9e5f8e4e9aa3fdce06d144381d9621552476387 (diff)
Add logging and testing for FSM deallocation
osmo_fsm_inst_alloc() logs allocation but osmo_fsm_inst_free() is silent. Fix this by adding log message for deallocation to make FSM lifecycle tracking easier. Also make sure it's covered by test suite. Change-Id: I7e5b55a1fff8e36cf61c7fb61d3e79c1f00e29d2
Diffstat (limited to 'tests/fsm')
-rw-r--r--tests/fsm/fsm_test.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/fsm/fsm_test.c b/tests/fsm/fsm_test.c
index 29b31efc..edbba9ef 100644
--- a/tests/fsm/fsm_test.c
+++ b/tests/fsm/fsm_test.c
@@ -89,7 +89,7 @@ static struct osmo_fsm fsm = {
.log_subsys = DMAIN,
};
-static int foo(void)
+static struct osmo_fsm_inst *foo(void)
{
struct osmo_fsm_inst *fi;
@@ -115,7 +115,7 @@ static int foo(void)
OSMO_ASSERT(fi->state == ST_TWO);
- return 0;
+ return fi;
}
static const struct log_info_cat default_categories[] = {
@@ -134,6 +134,7 @@ static const struct log_info log_info = {
int main(int argc, char **argv)
{
struct log_target *stderr_target;
+ struct osmo_fsm_inst *finst;
osmo_fsm_log_addr(false);
@@ -145,12 +146,12 @@ int main(int argc, char **argv)
g_ctx = NULL;
osmo_fsm_register(&fsm);
- foo();
+ finst = foo();
while (1) {
osmo_select_main(0);
}
-
+ osmo_fsm_inst_free(finst);
osmo_fsm_unregister(&fsm);
exit(0);
}