diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml index 479bb03c4..47465454c 100644 --- a/.github/workflows/code-coverage.yml +++ b/.github/workflows/code-coverage.yml @@ -104,8 +104,8 @@ jobs: - name: Confirm Minimum Coverage run: | - missed_branches=52 - missed_lines=18 + missed_branches=50 + missed_lines=17 branch_nums=$(grep -A 3 "Overall coverage rate" lcov_out.txt | grep branches | grep -oP "[0-9]+[0-9]*") line_nums=$(grep -A 3 "Overall coverage rate" lcov_out.txt | grep lines | grep -oP "[0-9]+[0-9]*") diff --git a/CHANGELOG.md b/CHANGELOG.md index 65b772882..667306973 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Development Build: equuleus-rc1+dev96 +- change CFE_MSG_Message from union to struct +- Remove unreachable/dead branch in CFE_ES_RunPerfLogDump() +- See and + ## Development Build: equuleus-rc1+dev90 - EDS XML file updates - add EDS cmake hooks diff --git a/modules/core_api/fsw/inc/cfe_msg_api_typedefs.h b/modules/core_api/fsw/inc/cfe_msg_api_typedefs.h index e31eee066..b570fe33c 100644 --- a/modules/core_api/fsw/inc/cfe_msg_api_typedefs.h +++ b/modules/core_api/fsw/inc/cfe_msg_api_typedefs.h @@ -99,7 +99,7 @@ typedef enum CFE_MSG_PlaybackFlag /** * \brief cFS generic base message */ -typedef union CFE_MSG_Message CFE_MSG_Message_t; +typedef struct CFE_MSG_Message CFE_MSG_Message_t; /** * \brief cFS command header diff --git a/modules/core_api/fsw/inc/cfe_version.h b/modules/core_api/fsw/inc/cfe_version.h index b3a5a72a4..7c727bc7b 100644 --- a/modules/core_api/fsw/inc/cfe_version.h +++ b/modules/core_api/fsw/inc/cfe_version.h @@ -26,7 +26,7 @@ #define CFE_VERSION_H /* Development Build Macro Definitions */ -#define CFE_BUILD_NUMBER 90 /**< @brief Development: Number of development git commits since CFE_BUILD_BASELINE */ +#define CFE_BUILD_NUMBER 96 /**< @brief Development: Number of development git commits since CFE_BUILD_BASELINE */ #define CFE_BUILD_BASELINE "equuleus-rc1" /**< @brief Development: Reference git tag for build number */ #define CFE_BUILD_DEV_CYCLE "equuleus-rc2" /**< @brief Development: Release name for current development cycle */ #define CFE_BUILD_CODENAME "Equuleus" /**< @brief: Development: Code name for the current build */ diff --git a/modules/core_api/ut-stubs/src/cfe_sb_handlers.c b/modules/core_api/ut-stubs/src/cfe_sb_handlers.c index 9551d8778..7d23b2f2b 100644 --- a/modules/core_api/ut-stubs/src/cfe_sb_handlers.c +++ b/modules/core_api/ut-stubs/src/cfe_sb_handlers.c @@ -348,7 +348,7 @@ void UT_DefaultHandler_CFE_SB_GetUserData(void *UserObj, UT_EntryKey_t FuncKey, if (UT_Stub_CopyToLocal(UT_KEY(CFE_SB_GetUserData), &Result, sizeof(Result)) != sizeof(Result)) { BytePtr = (uint8 *)MsgPtr; - if ((MsgPtr->Byte[0] & 0x10) != 0) + if ((*BytePtr & 0x10) != 0) { HdrSize = sizeof(CFE_MSG_CommandHeader_t); } diff --git a/modules/core_private/ut-stubs/src/ut_support.c b/modules/core_private/ut-stubs/src/ut_support.c index 83eea427a..01fbb07c0 100644 --- a/modules/core_private/ut-stubs/src/ut_support.c +++ b/modules/core_private/ut-stubs/src/ut_support.c @@ -342,13 +342,15 @@ int32 UT_SoftwareBusSnapshotHook(void *UserObj, int32 StubRetcode, uint32 CallCo { UT_SoftwareBusSnapshot_Entry_t *Snapshot = UserObj; const CFE_MSG_Message_t * MsgPtr = UT_Hook_GetArgValueByName(Context, "MsgPtr", CFE_MSG_Message_t *); + const uint8_t * BytePtr; if (MsgPtr != NULL && Snapshot != NULL) { ++Snapshot->Count; if (Snapshot->SnapshotSize > 0 && Snapshot->SnapshotBuffer != NULL) { - memcpy(Snapshot->SnapshotBuffer, &MsgPtr->Byte[Snapshot->SnapshotOffset], Snapshot->SnapshotSize); + BytePtr = (const uint8 *)MsgPtr; + memcpy(Snapshot->SnapshotBuffer, &BytePtr[Snapshot->SnapshotOffset], Snapshot->SnapshotSize); } } @@ -535,7 +537,7 @@ uint16 UT_GetNumEventsSent(void) */ void UT_DisplayPkt(CFE_MSG_Message_t *MsgPtr, size_t size) { - uint8 *BytePtr = MsgPtr->Byte; + uint8 *BytePtr = (uint8 *)MsgPtr; size_t i; size_t BufSize = UT_MAX_MESSAGE_LENGTH; char DisplayMsg[UT_MAX_MESSAGE_LENGTH]; diff --git a/modules/es/fsw/src/cfe_es_perf.c b/modules/es/fsw/src/cfe_es_perf.c index 7b969b3e9..6a2e02809 100644 --- a/modules/es/fsw/src/cfe_es_perf.c +++ b/modules/es/fsw/src/cfe_es_perf.c @@ -461,11 +461,7 @@ bool CFE_ES_RunPerfLogDump(uint32 ElapsedTime, void *Arg) { CFE_ES_FileWriteByteCntErr(State->DataFileName, BlockSize, Status); - /* skip to cleanup */ - if (State->CurrentState < CFE_ES_PerfDumpState_CLEANUP) - { - State->PendingState = CFE_ES_PerfDumpState_CLEANUP; - } + State->PendingState = CFE_ES_PerfDumpState_CLEANUP; } else { diff --git a/modules/msg/fsw/src/cfe_msg_sechdr_checksum.c b/modules/msg/fsw/src/cfe_msg_sechdr_checksum.c index 4aab22f37..88e9f1cb8 100644 --- a/modules/msg/fsw/src/cfe_msg_sechdr_checksum.c +++ b/modules/msg/fsw/src/cfe_msg_sechdr_checksum.c @@ -34,7 +34,7 @@ CFE_MSG_Checksum_t CFE_MSG_ComputeCheckSum(const CFE_MSG_Message_t *MsgPtr) { CFE_MSG_Size_t PktLen = 0; - const uint8 * BytePtr = MsgPtr->Byte; + const uint8 * BytePtr = (const uint8 *)MsgPtr; CFE_MSG_Checksum_t chksum = 0xFF; /* Message already checked, no error case reachable */ diff --git a/modules/msg/option_inc/default_cfe_msg_hdr_pri.h b/modules/msg/option_inc/default_cfe_msg_hdr_pri.h index 5aaaa38c2..0d074c644 100644 --- a/modules/msg/option_inc/default_cfe_msg_hdr_pri.h +++ b/modules/msg/option_inc/default_cfe_msg_hdr_pri.h @@ -89,10 +89,9 @@ typedef struct * * This provides the definition of CFE_MSG_Message_t */ -union CFE_MSG_Message +struct CFE_MSG_Message { - CCSDS_SpacePacket_t CCSDS; /**< \brief CCSDS Header (Pri or Pri + Ext) */ - uint8 Byte[sizeof(CCSDS_SpacePacket_t)]; /**< \brief Byte level access */ + CCSDS_SpacePacket_t CCSDS; /**< \brief CCSDS Header (Pri or Pri + Ext) */ }; /** diff --git a/modules/msg/option_inc/default_cfe_msg_hdr_priext.h b/modules/msg/option_inc/default_cfe_msg_hdr_priext.h index c13cae0e1..3c16fdc1c 100644 --- a/modules/msg/option_inc/default_cfe_msg_hdr_priext.h +++ b/modules/msg/option_inc/default_cfe_msg_hdr_priext.h @@ -96,10 +96,9 @@ typedef struct /** * \brief cFS generic base message */ -union CFE_MSG_Message +struct CFE_MSG_Message { - CCSDS_SpacePacket_t CCSDS; /**< \brief CCSDS Header (Pri or Pri + Ext) */ - uint8 Byte[sizeof(CCSDS_SpacePacket_t)]; /**< \brief Byte level access */ + CCSDS_SpacePacket_t CCSDS; /**< \brief CCSDS Header (Pri or Pri + Ext) */ }; /**