Skip to content

Commit

Permalink
Fix #810, add CDS Functional Test
Browse files Browse the repository at this point in the history
  • Loading branch information
zanzaben committed Apr 22, 2021
1 parent 225ab3e commit b8deb8e
Showing 1 changed file with 42 additions and 9 deletions.
51 changes: 42 additions & 9 deletions modules/cfe_testcase/src/es_cds_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,54 @@ void TestCDS(void)
{
CFE_ES_CDSHandle_t CDSHandlePtr;
size_t BlockSize = 10;
const char * Name = "CDS_Testing";
const char * Name = "CDS_Test";
const char * CDSName = "TESTRUN_APP.CDS_Test";
CFE_ES_CDSHandle_t IdByName;
char CDSNameBuf[CFE_MISSION_ES_CDS_MAX_NAME_LENGTH];
char CDSNameBuf[CFE_MISSION_ES_CDS_MAX_FULL_NAME_LEN];
CFE_Status_t status;

UtPrintf("Testing: CFE_ES_RegisterCDS, CFE_ES_GetCDSBlockIDByName, CFE_ES_GetCDSBlockName");

UtAssert_INT32_EQ(CFE_ES_RegisterCDS(&CDSHandlePtr, BlockSize, Name), CFE_SUCCESS);
UtAssert_INT32_EQ(CFE_ES_GetCDSBlockIDByName(&IdByName, Name), CFE_SUCCESS);
UtAssert_INT32_EQ(CFE_ES_GetCDSBlockName(CDSNameBuf, IdByName, sizeof(CDSNameBuf)), CFE_SUCCESS);
UtAssert_StrCmp(CDSNameBuf, Name, "CFE_ES_GetCDSBlockName() = %s", CDSNameBuf);
status = CFE_ES_RegisterCDS(&CDSHandlePtr, BlockSize, Name);

if (status == CFE_ES_CDS_ALREADY_EXISTS)
{
UtAssert_NA("CDS already exists. CFE_ES_RegisterCDS could not be tested");
}
else
{
UtAssert_INT32_EQ(status, CFE_SUCCESS);
}

UtAssert_INT32_EQ(CFE_ES_GetCDSBlockName(CDSNameBuf, CDSHandlePtr, sizeof(CDSNameBuf)), CFE_SUCCESS);
UtAssert_StrCmp(CDSNameBuf, CDSName, "CFE_ES_GetCDSBlockName() = %s", CDSNameBuf);
UtAssert_INT32_EQ(CFE_ES_GetCDSBlockIDByName(&IdByName, CDSNameBuf), CFE_SUCCESS);
UtAssert_ResourceID_EQ(CDSHandlePtr, IdByName);
}

int32 ESCDSTestSetup(int32 LibId)
void TestCopyRestoreCDS(void)
{
UtTest_Add(TestCDS, NULL, NULL, "Test CDS");
CFE_ES_CDSHandle_t CDSHandlePtr;
size_t BlockSize = 10;
const char * Name = "CDS_Copy_Test";
CFE_Status_t status;
char Data[BlockSize];
char DataBuff[BlockSize];

UtPrintf("Testing: CFE_ES_CopyToCDS, CFE_ES_RestoreFromCDS");

return CFE_SUCCESS;
snprintf(Data, BlockSize, "Test Data");
status = CFE_ES_RegisterCDS(&CDSHandlePtr, BlockSize, Name);

UtAssert_True(status == CFE_SUCCESS || status == CFE_ES_CDS_ALREADY_EXISTS, "Register CDS status = %d",
(int)status);
UtAssert_INT32_EQ(CFE_ES_CopyToCDS(CDSHandlePtr, Data), CFE_SUCCESS);
UtAssert_INT32_EQ(CFE_ES_RestoreFromCDS(DataBuff, CDSHandlePtr), CFE_SUCCESS);
UtAssert_StrCmp(Data, DataBuff, "RestoreFromCDS = %s", DataBuff);
}

void ESCDSTestSetup(void)
{
UtTest_Add(TestCDS, NULL, NULL, "Test CDS");
UtTest_Add(TestCopyRestoreCDS, NULL, NULL, "Test Copy Restore CDS");
}

0 comments on commit b8deb8e

Please sign in to comment.