summaryrefslogtreecommitdiff
path: root/cesar/cp2/fsm/test/utest/src
diff options
context:
space:
mode:
authorschodet2008-06-13 09:10:45 +0000
committerschodet2008-06-13 09:10:45 +0000
commit98ef18870053183ad5ccd0ce56edf9951ea59734 (patch)
tree4385d7f6f8f75f80881577631121be4245e180b5 /cesar/cp2/fsm/test/utest/src
parentbffc43be7e6183eb6227ed481b1d8c25a3ae698c (diff)
* cp2/fsm/test/utest:
- added mme and beacon tests. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2316 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/cp2/fsm/test/utest/src')
-rw-r--r--cesar/cp2/fsm/test/utest/src/fsm_stub.c24
-rw-r--r--cesar/cp2/fsm/test/utest/src/test_fsm.c32
2 files changed, 56 insertions, 0 deletions
diff --git a/cesar/cp2/fsm/test/utest/src/fsm_stub.c b/cesar/cp2/fsm/test/utest/src/fsm_stub.c
index 36615719c2..39fec11140 100644
--- a/cesar/cp2/fsm/test/utest/src/fsm_stub.c
+++ b/cesar/cp2/fsm/test/utest/src/fsm_stub.c
@@ -33,6 +33,13 @@ void
cp_fsm__STATE1__error_event_dup_branch (cp_t *ctx);
void
+cp_fsm__STATE1__event_mme (cp_t *ctx, cp_mme_rx_t *mme);
+
+void
+cp_fsm__STATE1__event_beacon (cp_t *ctx, cp_beacon_desc_t *beacon,
+ cp_net_t *net, cp_sta_t *sta);
+
+void
cp_fsm__STATE2__event3 (cp_t *ctx);
void
@@ -81,6 +88,23 @@ cp_fsm__STATE1__error_event_dup_branch (cp_t *ctx)
}
void
+cp_fsm__STATE1__event_mme (cp_t *ctx, cp_mme_rx_t *mme)
+{
+ scenario_event (cp_fsm__STATE1__event_mme, param);
+ test_fail_unless (mme == param->mme);
+}
+
+void
+cp_fsm__STATE1__event_beacon (cp_t *ctx, cp_beacon_desc_t *beacon,
+ cp_net_t *net, cp_sta_t *sta)
+{
+ scenario_event (cp_fsm__STATE1__event_beacon, param);
+ test_fail_unless (beacon == param->beacon);
+ test_fail_unless (net == param->net);
+ test_fail_unless (sta == param->sta);
+}
+
+void
cp_fsm__STATE2__event3 (cp_t *ctx)
{
scenario_event (cp_fsm__STATE2__event3, param);
diff --git a/cesar/cp2/fsm/test/utest/src/test_fsm.c b/cesar/cp2/fsm/test/utest/src/test_fsm.c
index 603dde4fcc..8fbdcc0053 100644
--- a/cesar/cp2/fsm/test/utest/src/test_fsm.c
+++ b/cesar/cp2/fsm/test/utest/src/test_fsm.c
@@ -75,6 +75,38 @@ test_fsm_basic_test_case (test_t t)
scenario_run (t, entries, &globals);
test_fail_unless (cp.fsm.state == CP_FSM_STATE_STATE1);
} test_end;
+ test_begin (t, "mme")
+ {
+ cp_mme_rx_t *mme = (void *) 0x12345678;
+ scenario_entry_t entries[] = {
+ SCENARIO_ACTION (post_and_process,
+ .type = CP_FSM_EVENT_TYPE_event_mme, .mme = mme),
+ SCENARIO_EVENT (cp_fsm__STATE1__event_mme, .mme = mme),
+ SCENARIO_END
+ };
+ scenario_globals_t globals = {
+ .cp = &cp,
+ };
+ scenario_run (t, entries, &globals);
+ test_fail_unless (cp.fsm.state == CP_FSM_STATE_STATE1);
+ } test_end;
+ test_begin (t, "beacon")
+ {
+ cp_beacon_desc_t *beacon = (void *) 0x9abcdef0;
+ scenario_entry_t entries[] = {
+ SCENARIO_ACTION (post_and_process,
+ .type = CP_FSM_EVENT_TYPE_event_beacon,
+ .beacon = beacon, .net = NULL, .sta = NULL),
+ SCENARIO_EVENT (cp_fsm__STATE1__event_beacon,
+ .beacon = beacon, .net = NULL, .sta = NULL),
+ SCENARIO_END
+ };
+ scenario_globals_t globals = {
+ .cp = &cp,
+ };
+ scenario_run (t, entries, &globals);
+ test_fail_unless (cp.fsm.state == CP_FSM_STATE_STATE1);
+ } test_end;
cp_fsm_uninit (&cp);
}