26#include "unity_fixture.h"
30#include "aotest_act.h"
31#include "test_common.h"
36#define utrzExpect_Ok_check() \
39 p = unitrazer_getLastOut(); \
40 TEST_ASSERT_EQUAL(UT_PROC_SUCCESS, p->status); \
43#define utrzExpect_OutOfSequence_check(ex, rc) \
46 p = unitrazer_getLastOut(); \
47 TEST_ASSERT_EQUAL(UT_PROC_FAIL, p->status); \
48 TEST_ASSERT_EQUAL_STRING("Out of order Trace event." \
49 " occurred: '"rc"' expected: '"ex"'.", p->msg); \
52#define utrzExpect_WithUnexpectedArg_check( ev, an, e, r ) \
55 p = unitrazer_getLastOut(); \
56 TEST_ASSERT_EQUAL(UT_PROC_FAIL, p->status); \
57 TEST_ASSERT_EQUAL_STRING("Event '"ev"' occurred with unexpected " \
58 "value for argument '"an"="r"' expected " \
59 "value='"e"'.", p->msg); \
62#define utrzExpect_WithUnexpectedArgNoName_check( ev, e, r ) \
65 p = unitrazer_getLastOut(); \
66 TEST_ASSERT_EQUAL(UT_PROC_FAIL, p->status); \
67 TEST_ASSERT_EQUAL_STRING("Event '"ev"' occurred with unexpected " \
68 "value for argument '"r"' expected " \
69 "value='"e"'.", p->msg); \
76TEST_GROUP(utrzExpect);
91TEST_TEAR_DOWN(utrzExpect)
106TEST(utrzExpect, sm_init_Ok)
108 sm_init_expect(CST(&s21));
110 RKH_TR_SM_INIT(aotest, &s21);
112 utrzExpect_Ok_check();
115TEST(utrzExpect, sm_init_OutOfSequence)
117 sm_init_expect(CST(&s21));
119 RKH_TR_SM_ENSTATE(aotest, CST(&s21));
121 utrzExpect_OutOfSequence_check(
"INIT",
"ENSTATE" );
124TEST(utrzExpect, sm_init_WithUnexpectedArg)
126 sm_init_expect(CST(&s21));
128 RKH_TR_SM_INIT(aotest, &s211);
130 utrzExpect_WithUnexpectedArg_check(
"INIT",
"ist", str(s21), str(s211) );
133TEST(utrzExpect, sm_clrh_Ok)
135 sm_clrh_expect(CST(&s21));
137 RKH_TR_SM_CLRH(aotest, &s21);
139 utrzExpect_Ok_check();
142TEST(utrzExpect, sm_clrh_OutOfSequence)
144 sm_clrh_expect(CST(&s21));
146 RKH_TR_SM_ENSTATE(aotest, CST(&s21));
148 utrzExpect_OutOfSequence_check(
"CLRH",
"ENSTATE" );
151TEST(utrzExpect, sm_clrh_WithUnexpectedArg)
153 sm_clrh_expect(CST(&s21));
155 RKH_TR_SM_CLRH(aotest, &s211);
157 utrzExpect_WithUnexpectedArg_check(
"CLRH",
"h", str(s21), str(s211) );
160TEST(utrzExpect, sm_trn_Ok)
162 sm_trn_expect(CST(&s21), CST(&s211));
164 RKH_TR_SM_TRN(aotest, &s21, &s211);
166 utrzExpect_Ok_check();
169TEST(utrzExpect, sm_trn_OutOfSequence)
171 sm_trn_expect(CST(&s21), CST(&s211));
173 RKH_TR_SM_ENSTATE(aotest, CST(&s21));
175 utrzExpect_OutOfSequence_check(
"TRN",
"ENSTATE" );
178TEST(utrzExpect, sm_trn_WithUnexpectedArg)
180 sm_trn_expect(CST(&s21), CST(&s211));
182 RKH_TR_SM_TRN(aotest, &s21, &s21);
184 utrzExpect_WithUnexpectedArg_check(
"TRN",
"tst", str(s211), str(s21) );
186 sm_trn_expect(CST(&s21), CST(&s211));
188 RKH_TR_SM_TRN(aotest, &s211, &s211);
190 utrzExpect_WithUnexpectedArg_check(
"TRN",
"sst", str(s21), str(s211) );
194TEST(utrzExpect, sm_trn_WithAnyArgs)
196 sm_trn_expectAnyArgs();
198 RKH_TR_SM_TRN(aotest, &s211, &s211);
200 utrzExpect_Ok_check();
203TEST(utrzExpect, sm_state_Ok)
205 sm_state_expect(CST(&s21));
207 RKH_TR_SM_STATE(aotest, &s21);
209 utrzExpect_Ok_check();
212TEST(utrzExpect, sm_state_OutOfSequence)
214 sm_state_expect(CST(&s21));
216 RKH_TR_SM_ENSTATE(aotest, CST(&s21));
218 utrzExpect_OutOfSequence_check(
"STATE",
"ENSTATE" );
221TEST(utrzExpect, sm_state_WithUnexpectedArg)
223 sm_state_expect(CST(&s21));
225 RKH_TR_SM_STATE(aotest, &s211);
227 utrzExpect_WithUnexpectedArg_check(
"STATE",
"nxtst", str(s21), str(s211) );
230TEST(utrzExpect, sm_enstate_Ok)
232 sm_enstate_expect(CST(&s21));
234 RKH_TR_SM_ENSTATE(aotest, &s21);
236 utrzExpect_Ok_check();
239TEST(utrzExpect, sm_enstate_OutOfSequence)
241 sm_enstate_expect(CST(&s21));
243 RKH_TR_SM_STATE(aotest, &s21);
245 utrzExpect_OutOfSequence_check(
"ENSTATE",
"STATE" );
248TEST(utrzExpect, sm_enstate_WithUnexpectedArg)
250 sm_enstate_expect(CST(&s21));
252 RKH_TR_SM_ENSTATE(aotest, &s211);
254 utrzExpect_WithUnexpectedArg_check(
"ENSTATE",
"st", str(s21), str(s211) );
257TEST(utrzExpect, sm_exstate_Ok)
259 sm_exstate_expect(CST(&s21));
261 RKH_TR_SM_EXSTATE(aotest, &s21);
263 utrzExpect_Ok_check();
266TEST(utrzExpect, sm_exstate_OutOfSequence)
268 sm_exstate_expect(CST(&s21));
270 RKH_TR_SM_STATE(aotest, &s21);
272 utrzExpect_OutOfSequence_check(
"EXSTATE",
"STATE" );
275TEST(utrzExpect, sm_exstate_WithUnexpectedArg)
277 sm_exstate_expect(CST(&s21));
279 RKH_TR_SM_EXSTATE(aotest, &s211);
281 utrzExpect_WithUnexpectedArg_check(
"EXSTATE",
"st", str(s21), str(s211) );
284TEST(utrzExpect, sm_nenex_Ok)
286 sm_nenex_expect(2,3);
288 RKH_TR_SM_NENEX(aotest, 2, 3);
290 utrzExpect_Ok_check();
293TEST(utrzExpect, sm_nenex_OutOfSequence)
295 sm_nenex_expect(2,3);
297 RKH_TR_SM_STATE(aotest, &s21);
299 utrzExpect_OutOfSequence_check(
"NENEX",
"STATE" );
302TEST(utrzExpect, sm_nenex_WithUnexpectedArg)
304 sm_nenex_expect(2,3);
306 RKH_TR_SM_NENEX(aotest, 3, 3);
308 utrzExpect_WithUnexpectedArg_check(
"NENEX",
"nen",
"2",
"3");
310 sm_nenex_expect(2,3);
312 RKH_TR_SM_NENEX(aotest, 2, 2);
314 utrzExpect_WithUnexpectedArg_check(
"NENEX",
"nex",
"3",
"2");
317TEST(utrzExpect, sm_ntrnact_Ok)
319 sm_ntrnact_expect(2,3);
321 RKH_TR_SM_NTRNACT(aotest, 2, 3);
323 utrzExpect_Ok_check();
326TEST(utrzExpect, sm_ntrnact_OutOfSequence)
328 sm_ntrnact_expect(2,3);
330 RKH_TR_SM_STATE(aotest, &s21);
332 utrzExpect_OutOfSequence_check(
"NTRNACT",
"STATE" );
335TEST(utrzExpect, sm_ntrnact_WithUnexpectedArg)
337 sm_ntrnact_expect(2,3);
339 RKH_TR_SM_NTRNACT(aotest, 3, 3);
341 utrzExpect_WithUnexpectedArg_check(
"NTRNACT",
"nta",
"2",
"3");
343 sm_ntrnact_expect(2,3);
345 RKH_TR_SM_NTRNACT(aotest, 2, 2);
347 utrzExpect_WithUnexpectedArg_check(
"NTRNACT",
"nts",
"3",
"2");
350TEST(utrzExpect, sm_tsstate_Ok)
352 sm_tsState_expect(CST(&s21));
354 RKH_TR_SM_TS_STATE(aotest, &s21);
356 utrzExpect_Ok_check();
359TEST(utrzExpect, sm_tsstate_OutOfSequence)
361 sm_tsState_expect(CST(&s21));
363 RKH_TR_SM_STATE(aotest, &s21);
365 utrzExpect_OutOfSequence_check(
"TS_STATE",
"STATE" );
368TEST(utrzExpect, sm_tsstate_WithUnexpectedArg)
370 sm_tsState_expect(CST(&s21));
372 RKH_TR_SM_TS_STATE(aotest, &s211);
374 utrzExpect_WithUnexpectedArg_check(
"TS_STATE",
"st", str(s21), str(s211) );
377TEST(utrzExpect, sm_evtproc_Ok)
381 RKH_TR_SM_EVT_PROC(aotest);
383 utrzExpect_Ok_check();
386TEST(utrzExpect, sm_evtproc_OutOfSequence)
390 RKH_TR_SM_STATE(aotest, &s21);
392 utrzExpect_OutOfSequence_check(
"EVT_PROC",
"STATE" );
395TEST(utrzExpect, sm_evtnfound_Ok)
399 sm_evtNotFound_expect(A);
401 RKH_TR_SM_EVT_NFOUND(aotest, (&e));
403 utrzExpect_Ok_check();
406TEST(utrzExpect, sm_evtnfound_OutOfSequence)
408 sm_evtNotFound_expect(A);
410 RKH_TR_SM_STATE(aotest, &s21);
412 utrzExpect_OutOfSequence_check(
"EVT_NFOUND",
"STATE" );
415TEST(utrzExpect, sm_evtnfound_WithUnexpectedArg)
419 sm_evtNotFound_expect(A);
421 RKH_TR_SM_EVT_NFOUND(aotest, (&ev));
423 utrzExpect_WithUnexpectedArg_check(
"EVT_NFOUND",
"sig", str(A), str(B));
426TEST(utrzExpect, sm_grdfalse_Ok)
428 sm_grdFalse_expect();
430 RKH_TR_SM_GRD_FALSE(aotest);
432 utrzExpect_Ok_check();
435TEST(utrzExpect, sm_grdfalse_OutOfSequence)
437 sm_grdFalse_expect();
439 RKH_TR_SM_STATE(aotest, &s21);
441 utrzExpect_OutOfSequence_check(
"GRD_FALSE",
"STATE" );
444TEST(utrzExpect, sm_cndnfound_Ok)
446 sm_cndNotFound_expect();
448 RKH_TR_SM_CND_NFOUND(aotest);
450 utrzExpect_Ok_check();
453TEST(utrzExpect, sm_cndnfound_OutOfSequence)
455 sm_cndNotFound_expect();
457 RKH_TR_SM_STATE(aotest, &s21);
459 utrzExpect_OutOfSequence_check(
"CND_NFOUND",
"STATE" );
462TEST(utrzExpect, sm_unkstate_Ok)
464 sm_unknState_expect();
466 RKH_TR_SM_UNKN_STATE(aotest);
468 utrzExpect_Ok_check();
471TEST(utrzExpect, sm_unkstate_OutOfSequence)
473 sm_unknState_expect();
475 RKH_TR_SM_STATE(aotest, &s21);
477 utrzExpect_OutOfSequence_check(
"UNKN_STATE",
"STATE" );
480TEST(utrzExpect, sm_exhlevel_Ok)
482 sm_exHLevel_expect();
484 RKH_TR_SM_EX_HLEVEL(aotest);
486 utrzExpect_Ok_check();
489TEST(utrzExpect, sm_exhlevel_OutOfSequence)
491 sm_exHLevel_expect();
493 RKH_TR_SM_STATE(aotest, &s21);
495 utrzExpect_OutOfSequence_check(
"EX_HLEVEL",
"STATE" );
498TEST(utrzExpect, sm_extseg_Ok)
502 RKH_TR_SM_EX_TSEG(aotest);
504 utrzExpect_Ok_check();
507TEST(utrzExpect, sm_extseg_OutOfSequence)
511 RKH_TR_SM_STATE(aotest, &s21);
513 utrzExpect_OutOfSequence_check(
"EX_TSEG",
"STATE" );
516TEST(utrzExpect, sm_exeAct_Ok)
519 CST(&s21), foo_set2zero );
523 utrzExpect_Ok_check();
526TEST(utrzExpect, sm_exeAct_OutOfSequence)
529 CST(&s21), foo_set2zero );
531 RKH_TR_SM_ENSTATE(aotest, CST(&s21));
533 utrzExpect_OutOfSequence_check(
"EXE_ACT",
"ENSTATE" );
536TEST(utrzExpect, sm_exeAct_WithUnexpectedArg)
539 CST(&s21), foo_set2zero );
543 utrzExpect_WithUnexpectedArg_check(
"EXE_ACT",
"st", str(s21), str(s211));
546 CST(&s21), foo_set2zero );
550 utrzExpect_WithUnexpectedArg_check(
"EXE_ACT",
"fn",
551 str(foo_set2zero), str(foo_set2one));
554 CST(&s21), foo_set2zero );
558 utrzExpect_WithUnexpectedArgNoName_check(
"EXE_ACT",
"Entry",
"Exit");
561TEST(utrzExpect, sm_exeAct_WithAnyArgs)
563 sm_exeAct_expectAnyArgs();
567 utrzExpect_Ok_check();
#define RKH_STATIC_EVENT(ev_obj, ev_sig)
This macro declares and initializes the event structure ev_ob with ev_sig signal number and establish...
RKH framwwork platform - independent interface.
@ RKH_SUBTE_SM_EXE_ACT_EX
@ RKH_SUBTE_SM_EXE_ACT_EN
@ RKH_SUBTE_SM_EXE_ACT_INI
Interface of unit test with Trazer application.