Skip to content

Commit 1634d83

Browse files
committed
Fix #1879, Improve EVS code coverage
1 parent 5e41330 commit 1634d83

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

modules/evs/ut-coverage/evs_UT.c

+32-1
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,11 @@ void Test_Init(void)
234234
CFE_EVS_EarlyInit();
235235
CFE_UtAssert_SYSLOG(EVS_SYSLOG_MSGS[4]);
236236

237+
/* Task main with init failure */
238+
UT_InitData();
239+
UT_SetDeferredRetcode(UT_KEY(CFE_ES_GetAppID), 1, -1);
240+
UtAssert_VOIDCALL(CFE_EVS_TaskMain());
241+
237242
/* Test TaskMain with a command pipe read failure due to an
238243
* invalid command packet
239244
*/
@@ -365,6 +370,7 @@ void Test_Init(void)
365370
void Test_IllegalAppID(void)
366371
{
367372
CFE_TIME_SysTime_t time = {0, 0};
373+
CFE_ES_AppId_t AppID;
368374

369375
UtPrintf("Begin Test Illegal App ID");
370376

@@ -375,6 +381,11 @@ void Test_IllegalAppID(void)
375381
/* Test registering an event using an illegal application ID */
376382
UtAssert_INT32_EQ(CFE_EVS_Register(NULL, 0, 0), CFE_EVS_APP_ILLEGAL_APP_ID);
377383

384+
/* Test sending events with a NULL spec */
385+
UtAssert_INT32_EQ(CFE_EVS_SendEvent(0, 0, NULL), CFE_EVS_INVALID_PARAMETER);
386+
UtAssert_INT32_EQ(CFE_EVS_SendEventWithAppID(0, 0, CFE_ES_APPID_UNDEFINED, NULL), CFE_EVS_INVALID_PARAMETER);
387+
UtAssert_INT32_EQ(CFE_EVS_SendTimedEvent(time, 0, 0, NULL), CFE_EVS_INVALID_PARAMETER);
388+
378389
/* Test sending an event using an illegal application ID */
379390
UT_InitData();
380391
UT_SetDefaultReturnValue(UT_KEY(CFE_ES_AppID_ToIndex), CFE_ES_ERR_RESOURCEID_NOT_VALID);
@@ -409,6 +420,11 @@ void Test_IllegalAppID(void)
409420
UT_InitData();
410421
UT_SetDefaultReturnValue(UT_KEY(CFE_ES_AppID_ToIndex), CFE_ES_ERR_RESOURCEID_NOT_VALID);
411422
UtAssert_INT32_EQ(CFE_EVS_CleanUpApp(CFE_ES_APPID_UNDEFINED), CFE_EVS_APP_ILLEGAL_APP_ID);
423+
424+
/* Test with out of ranage AppID */
425+
UT_InitData();
426+
AppID = CFE_ES_APPID_C(CFE_ResourceId_FromInteger(CFE_PLATFORM_ES_MAX_APPLICATIONS));
427+
UtAssert_INT32_EQ(CFE_EVS_SendEventWithAppID(0, 0, AppID, "NULL"), CFE_EVS_APP_ILLEGAL_APP_ID);
412428
}
413429

414430
/*
@@ -717,6 +733,10 @@ void Test_Format(void)
717733
* the maximum allowed
718734
*/
719735
CFE_UtAssert_SUCCESS(CFE_EVS_SendTimedEvent(time, 0, CFE_EVS_EventType_INFORMATION, "%s", long_msg));
736+
737+
/* Force an invalid format and send for code coverage */
738+
CFE_EVS_Global.EVS_TlmPkt.Payload.MessageFormatMode = CFE_EVS_MsgFormat_LONG + 1;
739+
CFE_UtAssert_SUCCESS(CFE_EVS_SendEvent(0, CFE_EVS_EventType_INFORMATION, "%s", long_msg));
720740
}
721741

722742
/*
@@ -1786,7 +1806,9 @@ void Test_Misc(void)
17861806
char msg[CFE_MISSION_EVS_MAX_MESSAGE_LENGTH + 2];
17871807
UT_SoftwareBusSnapshot_Entry_t HK_SnapshotData = {.MsgId = CFE_SB_MSGID_WRAP_VALUE(CFE_EVS_HK_TLM_MID)};
17881808

1789-
EVS_GetCurrentContext(&AppDataPtr, &AppID);
1809+
/* Cover null cases for EVS_GetCurrentContext */
1810+
EVS_GetCurrentContext(NULL, &AppID);
1811+
EVS_GetCurrentContext(&AppDataPtr, NULL);
17901812

17911813
UtPrintf("Begin Test Miscellaneous");
17921814

@@ -1877,4 +1899,13 @@ void Test_Misc(void)
18771899
AppDataPtr->EventTypesActiveFlag |= CFE_EVS_INFORMATION_BIT;
18781900
EVS_SendEvent(0, CFE_EVS_EventType_INFORMATION, msg);
18791901
UtAssert_UINT32_EQ(CFE_EVS_Global.EVS_TlmPkt.Payload.MessageTruncCounter, 1);
1902+
1903+
/* Use all AppData and report housekeeping to get branch coverage */
1904+
UT_InitData();
1905+
for (i = 0; i < sizeof(CFE_EVS_Global.AppData) / sizeof(EVS_AppData_t); i++)
1906+
{
1907+
/* Doesn't matter here that AppID is all the same... */
1908+
EVS_AppDataSetUsed(&CFE_EVS_Global.AppData[i], AppID);
1909+
}
1910+
UtAssert_UINT32_EQ(CFE_EVS_ReportHousekeepingCmd(NULL), CFE_STATUS_NO_COUNTER_INCREMENT);
18801911
}

0 commit comments

Comments
 (0)