Checking FSM allocation
[0;mTest_FSM(my_id){NULL}: Allocated
[0;mTest_FSM(my_id){NULL}: Received Event EV_B
[0;mTest_FSM(my_id){NULL}: Event EV_B not permitted
[0;mTest_FSM(my_id){NULL}: Received Event EV_A
[0;mTest_FSM(my_id){NULL}: State change to ONE (no timeout)
[0;mTest_FSM(my_id){ONE}: Received Event EV_B
[0;mTest_FSM(my_id){ONE}: State change to TWO (T2342, 1s)
[0;mTest_FSM(my_id){TWO}: Timeout of T2342
[0;mTimer
[0;mTest_FSM(my_id){TWO}: Deallocated
[0;m
--- test_id_api()
Test_FSM{NULL}: Allocated
[0;m  osmo_fsm_inst_name() == "Test_FSM"
  osmo_fsm_inst_find_by_name("Test_FSM") == fi
osmo_fsm_inst_update_id("my_id")
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM(my_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(my_id)") == fi
  osmo_fsm_inst_find_by_id("my_id") == fi
osmo_fsm_inst_update_id("another_id")
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM(another_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(another_id)") == fi
  osmo_fsm_inst_find_by_id("another_id") == fi
osmo_fsm_inst_update_id(NULL)
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM"
  osmo_fsm_inst_find_by_name("Test_FSM") == fi
osmo_fsm_inst_update_id(NULL)
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM"
  osmo_fsm_inst_find_by_name("Test_FSM") == fi
osmo_fsm_inst_update_id("arbitrary_id")
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi
  osmo_fsm_inst_find_by_id("arbitrary_id") == fi
osmo_fsm_inst_update_id("")
Attempting to set illegal id for FSM instance of type 'Test_FSM': ""
[0;m    rc == -22, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi
osmo_fsm_inst_update_id("invalid.id")
Attempting to set illegal id for FSM instance of type 'Test_FSM': "invalid.id"
[0;m    rc == -22, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi
--- id format tests...
osmo_fsm_inst_update_id_f("format%cid", '.')
Attempting to set illegal id for FSM instance of type 'Test_FSM': "format.id"
[0;m    rc == -22, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi
osmo_fsm_inst_update_id_f("%s", "")
Attempting to set illegal id for FSM instance of type 'Test_FSM': ""
[0;m    rc == -22, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi
osmo_fsm_inst_update_id_f("format%xid%d", 0x23, 42)
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM(format23id42)"
  osmo_fsm_inst_find_by_name("Test_FSM(format23id42)") == fi
osmo_fsm_inst_update_id_f(NULL, )
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM"
  osmo_fsm_inst_find_by_name("Test_FSM") == fi
osmo_fsm_inst_update_id_f(NULL, )
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM"
  osmo_fsm_inst_find_by_name("Test_FSM") == fi
osmo_fsm_inst_update_id_f("%s%c%s", "arbitrary", '_', "id")
    rc == 0, ok
  osmo_fsm_inst_name() == "Test_FSM(arbitrary_id)"
  osmo_fsm_inst_find_by_name("Test_FSM(arbitrary_id)") == fi

--- test_id_api() done

Test_FSM(arbitrary_id){NULL}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
[0;mTest_FSM(arbitrary_id){NULL}: Freeing instance
[0;mTest_FSM(arbitrary_id){NULL}: Deallocated
[0;m
--- test_state_chg_keep_timer()
Test_FSM{NULL}: Allocated
[0;mTest_FSM{NULL}: State change to ONE (no timeout)
[0;mTest_FSM{ONE}: State change to TWO (no timeout)
[0;mTest_FSM{TWO}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
[0;mTest_FSM{TWO}: Freeing instance
[0;mTest_FSM{TWO}: Deallocated
[0;mTotal time passed: 0.000000 s
Test_FSM{NULL}: Allocated
[0;mTest_FSM{NULL}: State change to ONE (T10, 10s)
[0;mTotal time passed: 2.000342 s
Test_FSM{ONE}: State change to TWO (keeping T10, 7.999s remaining)
[0;mTotal time passed: 2.000342 s
Total time passed: 9.999999 s
Total time passed: 10.000000 s
Test_FSM{TWO}: Timeout of T10
[0;mTest_FSM{TWO}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
[0;mTest_FSM{TWO}: Freeing instance
[0;mTest_FSM{TWO}: Deallocated
[0;m--- test_state_chg_keep_timer() done

--- test_state_chg_T()
Test_FSM{NULL}: Allocated
[0;mTest_FSM{NULL}: State change to ONE (T42, 23s)
[0;mTest_FSM{ONE}: State change to TWO (no timeout)
[0;mTest_FSM{TWO}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
[0;mTest_FSM{TWO}: Freeing instance
[0;mTest_FSM{TWO}: Deallocated
[0;mTest_FSM{NULL}: Allocated
[0;mTest_FSM{NULL}: State change to ONE (T42, 23s)
[0;mTest_FSM{ONE}: State change to TWO (no timeout)
[0;mTest_FSM{TWO}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
[0;mTest_FSM{TWO}: Freeing instance
[0;mTest_FSM{TWO}: Deallocated
[0;m--- test_state_chg_T() done
