Skip to content

Commit

Permalink
Fix #85, Change EVS_Register failure from SendEvent to WriteToSysLog
Browse files Browse the repository at this point in the history
  • Loading branch information
thnkslprpt committed Mar 14, 2023
1 parent 10a042f commit 0584142
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
3 changes: 1 addition & 2 deletions fsw/src/ds_app.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,7 @@ int32 DS_AppInitialize(void)

if (Result != CFE_SUCCESS)
{
CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, "Unable to register for EVS services, err = 0x%08X",
(unsigned int)Result);
CFE_ES_WriteToSysLog("DS App: Error registering for Event Services, RC = 0x%08X\n", (unsigned int)Result);
}

/*
Expand Down
23 changes: 14 additions & 9 deletions unit-test/ds_app_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,11 @@ void DS_AppMain_Test_AppInitializeError(void)
DS_AppMain();

/* Verify results */
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 2);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[1].EventID, DS_EXIT_ERR_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[1].EventType, CFE_EVS_EventType_CRITICAL);
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, DS_EXIT_ERR_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventType, CFE_EVS_EventType_CRITICAL);
UtAssert_STUB_COUNT(CFE_ES_ExitApp, 1);
UtAssert_STUB_COUNT(CFE_ES_WriteToSysLog, 1);
UtAssert_STUB_COUNT(CFE_ES_WriteToSysLog, 2);
}

void DS_AppMain_Test_SBError(void)
Expand Down Expand Up @@ -166,6 +166,11 @@ void DS_AppInitialize_Test_Nominal(void)

void DS_AppInitialize_Test_EVSRegisterError(void)
{
int32 strCmpResult;
char ExpectedSysLogString[CFE_MISSION_EVS_MAX_MESSAGE_LENGTH];
snprintf(ExpectedSysLogString, CFE_MISSION_EVS_MAX_MESSAGE_LENGTH,
"DS App: Error registering for Event Services, RC = 0x%%08X\n");

/* Set to generate error message DS_INIT_ERR_EID for EVS services */
UT_SetDeferredRetcode(UT_KEY(CFE_EVS_Register), 1, -1);

Expand All @@ -179,11 +184,11 @@ void DS_AppInitialize_Test_EVSRegisterError(void)
UtAssert_BOOL_FALSE(OS_ObjectIdDefined(DS_AppData.FileStatus[DS_DEST_FILE_CNT / 2].FileHandle));
UtAssert_BOOL_FALSE(OS_ObjectIdDefined(DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileHandle));

/* Note: not verifying that rest of DS_AppData is set to 0, because some elements of DS_AppData
* are modified by subfunctions, which we're not testing here */
UtAssert_STUB_COUNT(CFE_EVS_SendEvent, 1);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventID, DS_INIT_ERR_EID);
UtAssert_INT32_EQ(context_CFE_EVS_SendEvent[0].EventType, CFE_EVS_EventType_ERROR);
call_count_CFE_EVS_SendEvent = UT_GetStubCount(UT_KEY(CFE_EVS_SendEvent));
UtAssert_STUB_COUNT(CFE_ES_WriteToSysLog, 1);

strCmpResult = strncmp(ExpectedSysLogString, context_CFE_ES_WriteToSysLog.Spec, CFE_MISSION_EVS_MAX_MESSAGE_LENGTH);
UtAssert_True(strCmpResult == 0, "Sys Log string matched expected result, '%s'", context_CFE_ES_WriteToSysLog.Spec);
}

void DS_AppInitialize_Test_SBCreatePipeError(void)
Expand Down

0 comments on commit 0584142

Please sign in to comment.