@@ -184,6 +184,7 @@ void TestMsgHeaderSecondaryApi(void)
184184 CFE_TIME_SysTime_t msgTime ;
185185 bool isValid = true;
186186 CFE_TIME_SysTime_t currentTime = {1000 , 0xFFFF0000 };
187+ CFE_Status_t status ;
187188
188189 memset (& cmd , 0 , sizeof (cmd ));
189190 memset (& cmdTlm , 0xFF , sizeof (cmdTlm ));
@@ -203,17 +204,25 @@ void TestMsgHeaderSecondaryApi(void)
203204 UtAssert_INT32_EQ (CFE_MSG_SetType (& cmd2 .Msg , CFE_MSG_Type_Cmd ), CFE_SUCCESS );
204205
205206 /* test generate-checksum */
206- UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (NULL ), CFE_MSG_BAD_ARGUMENT );
207- UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (& cmdTlm .Msg ), CFE_MSG_WRONG_MSG_TYPE );
208- UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmdTlm .Msg , & isValid ), CFE_MSG_WRONG_MSG_TYPE );
209- UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (NULL , & isValid ), CFE_MSG_BAD_ARGUMENT );
210- UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmdTlm .Msg , NULL ), CFE_MSG_BAD_ARGUMENT );
211-
212- UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmd .Msg , & isValid ), CFE_SUCCESS );
213- UtAssert_True (!isValid , "Checksum isValid (%d) = false" , isValid );
214- UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (& cmd .Msg ), CFE_SUCCESS );
215- UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmd .Msg , & isValid ), CFE_SUCCESS );
216- UtAssert_True (isValid , "Checksum isValid (%d) = true" , isValid );
207+ status = CFE_MSG_GenerateChecksum (NULL );
208+ if (status == CFE_MSG_NOT_IMPLEMENTED )
209+ {
210+ UtAssert_NA ("CFE_MSG_GenerateChecksum not implemented" );
211+ }
212+ else
213+ {
214+ UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (NULL ), CFE_MSG_BAD_ARGUMENT );
215+ UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (& cmdTlm .Msg ), CFE_MSG_WRONG_MSG_TYPE );
216+ UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmdTlm .Msg , & isValid ), CFE_MSG_WRONG_MSG_TYPE );
217+ UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (NULL , & isValid ), CFE_MSG_BAD_ARGUMENT );
218+ UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmdTlm .Msg , NULL ), CFE_MSG_BAD_ARGUMENT );
219+
220+ UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmd .Msg , & isValid ), CFE_SUCCESS );
221+ UtAssert_True (!isValid , "Checksum isValid (%d) = false" , isValid );
222+ UtAssert_INT32_EQ (CFE_MSG_GenerateChecksum (& cmd .Msg ), CFE_SUCCESS );
223+ UtAssert_INT32_EQ (CFE_MSG_ValidateChecksum (& cmd .Msg , & isValid ), CFE_SUCCESS );
224+ UtAssert_True (isValid , "Checksum isValid (%d) = true" , isValid );
225+ }
217226
218227 /* test get/set-fcn-code */
219228 UtAssert_INT32_EQ (CFE_MSG_SetFcnCode (NULL , 4 ), CFE_MSG_BAD_ARGUMENT );
@@ -232,10 +241,20 @@ void TestMsgHeaderSecondaryApi(void)
232241
233242 UtAssert_INT32_EQ (CFE_MSG_GetMsgTime (NULL , & msgTime ), CFE_MSG_BAD_ARGUMENT );
234243 UtAssert_INT32_EQ (CFE_MSG_GetMsgTime (& cmd .Msg , NULL ), CFE_MSG_BAD_ARGUMENT );
235- UtAssert_INT32_EQ (CFE_MSG_GetMsgTime (& cmd2 .Msg , & msgTime ), CFE_MSG_WRONG_MSG_TYPE );
244+
245+ CFE_Assert_STATUS_STORE (CFE_MSG_GetMsgTime (& cmd2 .Msg , & msgTime ));
246+ if (!CFE_Assert_STATUS_MAY_BE (CFE_SUCCESS ))
247+ {
248+ CFE_Assert_STATUS_MUST_BE (CFE_MSG_WRONG_MSG_TYPE );
249+ }
236250
237251 UtAssert_INT32_EQ (CFE_MSG_SetMsgTime (NULL , currentTime ), CFE_MSG_BAD_ARGUMENT );
238- UtAssert_INT32_EQ (CFE_MSG_SetMsgTime (& cmd2 .Msg , currentTime ), CFE_MSG_WRONG_MSG_TYPE );
252+
253+ CFE_Assert_STATUS_STORE (CFE_MSG_SetMsgTime (& cmd2 .Msg , currentTime ));
254+ if (!CFE_Assert_STATUS_MAY_BE (CFE_SUCCESS ))
255+ {
256+ CFE_Assert_STATUS_MUST_BE (CFE_MSG_WRONG_MSG_TYPE );
257+ }
239258
240259 UtAssert_INT32_EQ (CFE_MSG_SetMsgTime (& cmd .Msg , currentTime ), CFE_SUCCESS );
241260 UtAssert_INT32_EQ (CFE_MSG_GetMsgTime (& cmd .Msg , & msgTime ), CFE_SUCCESS );
0 commit comments