fix tdef_test.c: do call the function-to-test in all cases

Always call osmo_tdef_fsm_inst_state_chg(), also when no timeout is defined.

When there is no timeout defined for a state, tdef_test.c tries to be smart and
print different output. In that mess, I missed the fact that
osmo_tdef_fsm_inst_state_chg() isn't always called as it should. In the same
mess, the resulting state was never printed until the preceding patch, which
helped to hide this bug.

Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6
diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c
index fe2accf..12ca802 100644
--- a/tests/tdef/tdef_test.c
+++ b/tests/tdef/tdef_test.c
@@ -323,12 +323,12 @@
 #define test_tdef_fsm_state_chg(tdefs, NEXT_STATE) do { \
 		const struct osmo_tdef_state_timeout *st = osmo_tdef_get_state_timeout(NEXT_STATE, \
 										       test_tdef_state_timeouts); \
+		int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \
 		if (!st) { \
-			printf(" --> %s (no timer configured for this state)\t", \
-			       osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE)); \
+			printf(" --> %s (no timer configured for this state) rc=%d;\t", \
+			       osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), rc); \
 		} else { \
 			struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, st->T); \
-			int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \
 			printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", \
 			       osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), \
 			       st->T, st->keep_timer ? "(keep_timer)" : "", \