From 60be96fc86a3581a57dde4f0f2c520709f96a2bf Mon Sep 17 00:00:00 2001 From: Alex Campbell Date: Thu, 24 Jun 2021 11:25:34 -0400 Subject: [PATCH] Fix #1480, Expand FS Header Functional tests. --- modules/cfe_testcase/src/cfe_test.h | 8 ++++++++ modules/cfe_testcase/src/fs_header_test.c | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/cfe_testcase/src/cfe_test.h b/modules/cfe_testcase/src/cfe_test.h index ef3edc5b2..d17305696 100644 --- a/modules/cfe_testcase/src/cfe_test.h +++ b/modules/cfe_testcase/src/cfe_test.h @@ -52,6 +52,14 @@ #define UtAssert_ResourceID_Undefined(id) \ UtAssert_True(!CFE_RESOURCEID_TEST_DEFINED(id), "%s (%lu) not defined", #id, CFE_RESOURCEID_TO_ULONG(id)) +/* Assert a return code is not equal to cfe_success */ +#define UtAssert_NOT_CFE_SUCCESS(actual) \ + do \ + { \ + int32 rcact = (int32)(actual); \ + UtAssert_True(rcact < CFE_SUCCESS, "%s == (%ld) ", #actual, (long)rcact); \ + } while (0) + void CFE_TestMain(void); void ESInfoTestSetup(void); void ESTaskTestSetup(void); diff --git a/modules/cfe_testcase/src/fs_header_test.c b/modules/cfe_testcase/src/fs_header_test.c index ec92eb348..b08196fe5 100644 --- a/modules/cfe_testcase/src/fs_header_test.c +++ b/modules/cfe_testcase/src/fs_header_test.c @@ -48,6 +48,7 @@ static osal_id_t setup_file(void) void TestCreateHeader(void) { CFE_FS_Header_t Header; + CFE_FS_Header_t HeaderFail; const char * TestDescription = "TEST_HEADER"; osal_id_t fd = setup_file(); @@ -56,6 +57,13 @@ void TestCreateHeader(void) CFE_FS_InitHeader(&Header, TestDescription, CFE_FS_SubType_ES_ERLOG); UtAssert_INT32_EQ(CFE_FS_WriteHeader(fd, &Header), sizeof(CFE_FS_Header_t)); + UtAssert_INT32_EQ(CFE_FS_WriteHeader(fd, NULL), CFE_FS_BAD_ARGUMENT); + UtAssert_NOT_CFE_SUCCESS(CFE_FS_WriteHeader(OS_OBJECT_ID_UNDEFINED, &Header)); + + CFE_FS_InitHeader(NULL, TestDescription, CFE_FS_SubType_ES_ERLOG); + CFE_FS_InitHeader(&HeaderFail, NULL, CFE_FS_SubType_ES_ERLOG); + CFE_FS_InitHeader(&HeaderFail, TestDescription, 256); + OS_close(fd); OS_remove(OS_TEST_HEADER_FILENAME); } @@ -77,6 +85,9 @@ void TestReadHeader(void) UtAssert_INT32_EQ(Header.SubType, ReadHeader.SubType); UtAssert_StrCmp(TestDescription, ReadHeader.Description, "ReadHeader.Description = %s", ReadHeader.Description); + UtAssert_INT32_EQ(CFE_FS_ReadHeader(NULL, fd), CFE_FS_BAD_ARGUMENT); + UtAssert_NOT_CFE_SUCCESS(CFE_FS_ReadHeader(&ReadHeader, OS_OBJECT_ID_UNDEFINED)); + OS_close(fd); OS_remove(OS_TEST_HEADER_FILENAME); } @@ -86,7 +97,7 @@ void TestTimeStamp(void) CFE_FS_Header_t Header; CFE_FS_Header_t ReadHeader; const char * TestDescription = "TEST_HEADER"; - CFE_TIME_SysTime_t NewTimestamp = {10, 10}; + CFE_TIME_SysTime_t NewTimestamp = {0xFFFFFFFF, 0xFFFFFFFF}; osal_id_t fd = setup_file(); UtPrintf("Testing: CFE_FS_SetTimestamp"); @@ -96,8 +107,10 @@ void TestTimeStamp(void) UtAssert_INT32_EQ(CFE_FS_SetTimestamp(fd, NewTimestamp), CFE_SUCCESS); UtAssert_INT32_EQ(CFE_FS_ReadHeader(&ReadHeader, fd), sizeof(CFE_FS_Header_t)); - UtAssert_INT32_EQ(10, ReadHeader.TimeSeconds); - UtAssert_INT32_EQ(10, ReadHeader.TimeSubSeconds); + UtAssert_UINT32_EQ(0xFFFFFFFF, ReadHeader.TimeSeconds); + UtAssert_UINT32_EQ(0xFFFFFFFF, ReadHeader.TimeSubSeconds); + + UtAssert_NOT_CFE_SUCCESS(CFE_FS_SetTimestamp(OS_OBJECT_ID_UNDEFINED, NewTimestamp)); OS_close(fd); OS_remove(OS_TEST_HEADER_FILENAME);