Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cFE Integration candidate: 2021-03-30 #1258

Merged
merged 47 commits into from
Apr 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
9b4732f
Fix #1164, use FS file name parser for commands
jphickey Feb 10, 2021
096127b
Fix #1223, shorten TestRunner function name
zanzaben Mar 18, 2021
d5bd7ca
Fix #1192, Initialize TotalMsgSize in CFE_SB_GetUserDataLength
skliper Mar 17, 2021
7091426
Fix #1186, Remove useless assignments/checks
skliper Mar 17, 2021
1072b0d
Fix #1180, Remove impossible conditions
skliper Mar 17, 2021
2d1cf8b
Fix #1002, Remove deprecated elements
skliper Mar 17, 2021
f1bcbe5
Fix #1185, Squash possible uninitialized variable false alarms
skliper Mar 17, 2021
360d0ca
Fix #1187, Increment CreatePipeErrorCounter for all create pipe errors
skliper Mar 18, 2021
4cf48f1
Fix #1246, Typo in CFE_TBL_Validate AppName
skliper Mar 22, 2021
8c70e95
Fix #1215, remove task registration calls
jphickey Mar 23, 2021
e8f73aa
Fix #1181, global variable cleanup
jphickey Mar 23, 2021
10dbf4a
Fix #1206, report PSP version in ES HK TLM
jphickey Mar 23, 2021
739bcea
Fix #1194, check for NULL in SlotUsed helpers
jphickey Mar 23, 2021
410447e
Fix #1155, clean up zero copy API
jphickey Mar 23, 2021
d71366f
Fix #1252, Squash potentially uninitialized variable warnings
skliper Mar 23, 2021
3585701
Merge pull request #1237 from skliper/fix1180-rm_impossible_conditions
astrogeco Mar 24, 2021
5665ccd
Merge pull request #1240 from skliper/fix1002-rm_deprecated
astrogeco Mar 24, 2021
ee2b601
Merge pull request #1253 from skliper/fix1252-uninitialized_variables
astrogeco Mar 24, 2021
d869a19
Merge pull request #1241 from skliper/fix1185-uninit_vars
astrogeco Mar 24, 2021
e5d7e7e
Merge pull request #1247 from skliper/fix1246-appname_typo
astrogeco Mar 24, 2021
c9096a9
Merge pull request #1234 from skliper/fix1192-userdatalength_undefined
astrogeco Mar 24, 2021
89f5a08
Fix #1259, Add branch coverage option to genhtml
skliper Mar 24, 2021
8807e63
Merge pull request #1245 from skliper/fix1187-increment_createpipeerror
astrogeco Mar 24, 2021
015ac64
Merge pull request #1236 from skliper/fix1186-rm_useless_assignments
astrogeco Mar 24, 2021
f034054
IC:2021-03-30, Remove deprecated API doxygen references
astrogeco Mar 24, 2021
3ab6a53
Fix #1239, scrub include header guards
jphickey Mar 24, 2021
0905f87
Fix #1261, Remove redundant checks in CFE_EVS_EarlyInit
skliper Mar 24, 2021
0780d12
Fix #1239, apply "uniq" filer to files
jphickey Mar 24, 2021
21f1b02
Fix #1264, use simple filenames.
zanzaben Mar 25, 2021
0cea6e6
Merge pull request #1262 from jphickey/fix-1239-header-guards
astrogeco Mar 25, 2021
fddf17c
Merge pull request #1256 from jphickey/fix-1194-check-null
astrogeco Mar 25, 2021
4c33529
Fix #1267, add null pointer check
zanzaben Mar 26, 2021
fe95bec
Fix #1269, refactor CFE_ES_ERR_BUFFER to CFE_ES_BAD_ARGUMENT
zanzaben Mar 26, 2021
b239365
Merge pull request #1263 from skliper/fix1261-redundant_check
astrogeco Mar 29, 2021
66e2463
Merge pull request #1250 from jphickey/fix-1215-task-registration
astrogeco Mar 29, 2021
b46d164
Merge pull request #1242 from zanzaben/fix1223_Testrunner_name_too_long
astrogeco Mar 29, 2021
3daa5fa
Merge pull request #1229 from jphickey/fix-1164-command-filenames
astrogeco Mar 29, 2021
7db7c72
Merge pull request #1257 from jphickey/fix-1155-zerocopy-api
astrogeco Mar 29, 2021
3397016
Merge pull request #1254 from jphickey/fix-1181-global-cleanup
jphickey Mar 29, 2021
6f5344e
Merge pull request #1255 from jphickey/fix-1206-version-report
jphickey Mar 29, 2021
c1de7f4
Fix #1270, limit check in pool validation
jphickey Mar 29, 2021
de01f9e
Merge pull request #1271 from jphickey/fix-1270-pool-check
astrogeco Mar 30, 2021
db39522
Merge pull request #1271 from zanzaben/fix1267_GetAppId_null_pointer
astrogeco Mar 30, 2021
2af49e3
IC:2021-03-30, Fix ZeroCopy references in docs
astrogeco Mar 30, 2021
5ea1db7
IC:2021-03-30, add missing doxygen group closing
astrogeco Mar 30, 2021
9869364
Merge pull request #1260 from skliper/fix1259-genhtml_branch_coverage
astrogeco Mar 31, 2021
806fd87
IC:2021-03-30, Bump to v6.8.0-rc1+dev484
astrogeco Apr 1, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,30 @@ The detailed cFE user's guide can be viewed at <https://github.com/nasa/cFS/blob

## Version History

### Development Build: v6.8.0-rc1+dev484

- Removes cases in `cfe_es_apps.c` and `cfe_tbl_internal.c` that could never hit the alternate condition since the condition was already checked
- Removes all APIs deprecated in #777 and #998
- Resolves CodeQL warnings on uninitialized variables.
- Refactors a small portion of `CFE_TIME_UnregisterSynchCallback` and initializes variables to resolve "uninitialized variable" false alarms.
- Fixes a typo in initialization in `CFE_TBL_Validate( CFE_TBL_Handle_t TblHandle )`
- Initializes `TotalMsgSize` as 0 to avoid static analysis warning of "use before initialized"
- Increments the `CreatePipeErrorCounter` for all create pipe errors to eliminate a trivial static analysis warning
- Removes redundant or unreachable assignments and checks
- Updates header guards to standard format. Converts some file-scope block comments to a doxygen format to include a summary of the file.
- Enables the internal helper functions that determine table slot availability to handle NULL pointers.
- Resolves static analysis warnings by removing redundant check for `CFE_SUCCESS` in `CFE_EVS_EarlyInit`
- Moves the invocation of `CFE_PSP_AttachExceptions()` from the registration function to the pre-entry function and removes all references to task registration in code, docs, and tests. **This API change affects cFS apps.**
- Renames `CFE_TestRunner_AppMain` as `CFE_TR_AppMain` so it is less than 20 characters long. Updates App file names in documentation for `cfe_es_startup.scr`.
- Replace the call to `CFE_SB_MessageStringGet()` with the new filename-aware function `CFE_FS_ParseInputFileName()` for commands that contain file names like `CFE_ES_StopPerfDataCmd`. The default pathname/extension logic is now applied here too and only a "basename" is strictly necessary, although if a full/absolute path is given, it will be used as is.
- Removes the now-unnecessary `CFE_SB_ZeroCopyHandle_t` type and all APIs that refer or require it .Replaces `CFE_SB_ZeroCopyGetPtr()` and `CFE_SB_ZeroCopyGetPtr()` with two new simplified functions `CFE_SB_AllocateMessageBuffer()` and `CFE_SB_ReleaseMessageBuffer()` , respectively. These new functions do not use a separate handle. Updates the `CFE_SB_TransmitBuffer()` API to also remove the handle. Does affect public APIs.
- Internal cleanup localized to ES implementation. Consolidate all ES global variables under the `CFE_ES_Global` struct. Removes the separate `CFE_ES_TaskData` and some random pointers that were stored at global scope. Adjusts all references to the deprecated items accordingly (search and replace).
- Adds PSP version info to ES Housekeeping TLM messages. Changes both PSP and OSAL version info assignments on HK TLM to use the new version info API.
- Fixes check for "NumBuckets" member to use `<=` instead of `<`. `CFE_ES_GenPoolValidateState()` now returns `true` if using the max number of buckets (17 by default) and the pool structure using max value will correctly validate
- Replaces remaining `CFE_ES_ERR_BUFFER` with `CFE_ES_BAD_ARGUMENT` for when functions receive an invalid null-pointer argument. Adds null pointer checks in `cfe_es_api.c`.
- Adds branch coverage to html report when running `make lcov`
- See <https://github.com/nasa/cFE/pull/1258>

### Development Build: v6.8.0-rc1+dev436

- Adds a local definition of SOFTWARE_BIG/LITTLE_BIT_ORDER directly inside cfe_endian.h to provide a compatible symbol for apps that still require this. This allows CFE to build and run successfully when OSAL stops providing this in `common_types.h`.
Expand Down
2 changes: 1 addition & 1 deletion cmake/Makefile.sample
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ test:
lcov:
lcov --capture --rc lcov_branch_coverage=1 --directory $(O)/$(ARCH) --output-file $(O)/$(ARCH)/coverage_test.info
lcov --rc lcov_branch_coverage=1 --add-tracefile $(O)/$(ARCH)/coverage_base.info --add-tracefile $(O)/$(ARCH)/coverage_test.info --output-file $(O)/$(ARCH)/coverage_total.info
genhtml $(O)/$(ARCH)/coverage_total.info --output-directory $(O)/$(ARCH)/lcov
genhtml $(O)/$(ARCH)/coverage_total.info --branch-coverage --output-directory $(O)/$(ARCH)/lcov
@/bin/echo -e "\n\nCoverage Report Link: file:$(CURDIR)/$(O)/$(ARCH)/lcov/index.html\n"

doc:
Expand Down
35 changes: 18 additions & 17 deletions cmake/sample_defs/cpu1_msgids.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,23 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_msgids.h
**
** Purpose:
** This header file contains the Message Id's for messages used by the
** cFE core.
**
** Author: R.McGraw/SSI
**
** Notes:
** This file should not contain messages defined by cFE external
** applications.
**
******************************************************************************/
#ifndef _cfe_msgids_
#define _cfe_msgids_
/**
* @file
*
* Purpose:
* This header file contains the Message Id's for messages used by the
* cFE core.
*
* Author: R.McGraw/SSI
*
* Notes:
* This file should not contain messages defined by cFE external
* applications.
*
*/

#ifndef CPU1_MSGIDS_H
#define CPU1_MSGIDS_H

/*
** Includes
Expand Down Expand Up @@ -129,4 +130,4 @@
#define CFE_SB_ONESUB_TLM_MID CFE_PLATFORM_TLM_MID_BASE + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */
#define CFE_ES_MEMSTATS_TLM_MID CFE_PLATFORM_TLM_MID_BASE + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */

#endif
#endif /* CPU1_MSGIDS_H */
34 changes: 17 additions & 17 deletions cmake/sample_defs/cpu1_platform_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,23 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_platform_cfg.h
**
** Purpose:
** This header file contains the platform configuration parameters.
**
** Notes:
** The impact of changing these configurations from their default value is
** not yet documented. Changing these values may impact the performance
** and functionality of the system.
**
** Author: R.McGraw/SSI
**
******************************************************************************/
/**
* @file
*
* Purpose:
* This header file contains the platform configuration parameters.
*
* Notes:
* The impact of changing these configurations from their default value is
* not yet documented. Changing these values may impact the performance
* and functionality of the system.
*
* Author: R.McGraw/SSI
*
*/

#ifndef _cfe_platform_cfg_
#define _cfe_platform_cfg_
#ifndef CPU1_PLATFORM_CFG_H
#define CPU1_PLATFORM_CFG_H

/**
** \cfeescfg Default virtual path for persistent storage
Expand Down Expand Up @@ -1708,4 +1708,4 @@
*/
#define CFE_PLATFORM_ES_STARTUP_SCRIPT_TIMEOUT_MSEC 1000

#endif /* _cfe_platform_cfg_ */
#endif /* CPU1_PLATFORM_CFG_H */
42 changes: 19 additions & 23 deletions cmake/sample_defs/sample_mission_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_mission_cfg.h
**
** Purpose:
** This header file contains the mission configuration parameters and
** typedefs with mission scope.
**
** Notes:
** The impact of changing these configurations from their default value is
** not yet documented. Changing these values may impact the performance
** and functionality of the system.
**
** Author: R.McGraw/SSI
**
******************************************************************************/

#ifndef _cfe_mission_cfg_
#define _cfe_mission_cfg_
/**
* @file
*
* Purpose:
* This header file contains the mission configuration parameters and
* typedefs with mission scope.
*
* Notes:
* The impact of changing these configurations from their default value is
* not yet documented. Changing these values may impact the performance
* and functionality of the system.
*
* Author: R.McGraw/SSI
*
*/

#ifndef SAMPLE_MISSION_CFG_H
#define SAMPLE_MISSION_CFG_H

/**
** \cfesbcfg Maximum SB Message Size
Expand Down Expand Up @@ -65,7 +65,6 @@
** format. This avoids having to modify each individual caller
** when the default choice is changed.
**
**
** \par Limits
** if CFE_MISSION_TIME_CFG_DEFAULT_TAI is defined as true then CFE_MISSION_TIME_CFG_DEFAULT_UTC must be
** defined as false.
Expand All @@ -82,7 +81,6 @@
** The following definition enables the use of a simulated time at
** the tone signal using a software bus message.
**
**
** \par Limits
** Not Applicable
*/
Expand Down Expand Up @@ -131,7 +129,6 @@
**
** Note: units are in micro-seconds
**
**
** \par Limits
** 0 to 999,999 decimal
*/
Expand Down Expand Up @@ -421,7 +418,6 @@
** anticipated to be reasonably small (i.e. tens, not hundreds). Large
** values have not been tested.
**
**
*/
#define CFE_MISSION_ES_POOL_MAX_BUCKETS 17

Expand Down Expand Up @@ -562,4 +558,4 @@
*/
#define CFE_MISSION_ES_CDS_MAX_FULL_NAME_LEN (CFE_MISSION_ES_CDS_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 4)

#endif /* _cfe_mission_cfg_ */
#endif /* SAMPLE_MISSION_CFG_H */
38 changes: 19 additions & 19 deletions cmake/sample_defs/sample_perfids.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@
** limitations under the License.
*/

/*
** File: cfe_perfids.h
**
** Purpose: This file contains the cFE performance IDs
**
** Design Notes:
** Each performance id is used to identify something that needs to be
** measured. Performance ids are limited to the range of 0 to
** CFE_MISSION_ES_PERF_MAX_IDS - 1. Any performance ids outside of this range
** will be ignored and will be flagged as an error. Note that
** performance ids 0-31 are reserved for the cFE Core.
**
** References:
**
*/

#ifndef _cfe_perfids_
#define _cfe_perfids_
/**
* @file
*
* Purpose: This file contains the cFE performance IDs
*
* Design Notes:
* Each performance id is used to identify something that needs to be
* measured. Performance ids are limited to the range of 0 to
* CFE_MISSION_ES_PERF_MAX_IDS - 1. Any performance ids outside of this range
* will be ignored and will be flagged as an error. Note that
* performance ids 0-31 are reserved for the cFE Core.
*
* References:
*
*/

#ifndef SAMPLE_PERFIDS_H
#define SAMPLE_PERFIDS_H

#define CFE_MISSION_ES_PERF_EXIT_BIT 31 /**< \brief bit (31) is reserved by the perf utilities */

Expand All @@ -58,4 +58,4 @@

/** \} */

#endif /* _cfe_perfids_ */
#endif /* SAMPLE_PERFIDS_H */
11 changes: 4 additions & 7 deletions cmake/target/inc/target_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
*/

/**
* \file target_config.h
*
* Created on: Dec 12, 2014
* Created by: [email protected]
* @file
*
* Defines structures for the global system-wide configuration data.
* These structures can be accessed at runtime and are an alternative to
Expand All @@ -31,8 +28,8 @@
* code becomes more portable.
*/

#ifndef TARGET_CONFIG_H_
#define TARGET_CONFIG_H_
#ifndef TARGET_CONFIG_H
#define TARGET_CONFIG_H

#include "common_types.h"
#include "cfe_psp_configdata.h"
Expand Down Expand Up @@ -213,4 +210,4 @@ typedef const struct
*/
extern Target_ConfigData GLOBAL_CONFIGDATA;

#endif /* TARGET_CONFIG_H_ */
#endif /* TARGET_CONFIG_H */
8 changes: 4 additions & 4 deletions docs/README_functionaltest.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ cases. It also must be loaded after `cfe_assert`.
To execute tests at startup, the following lines can be added to `cfe_es_startup.scr` on the
designated test target:

CFE_LIB, /cf/cfe_assert.so, CFE_Assert_LibInit, ASSERT_LIB, 0, 0, 0x0, 0;
CFE_APP, /cf/cfe_testrunner.so, CFE_TestRunner_AppMain, TESTRUN_APP, 100, 16384, 0x0, 0;
CFE_LIB, /cf/cfe_testcase.so, CFE_Test_Init, CFETEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, /cf/psp_test.so, PSP_Test_Init, PSPTEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, cfe_assert, CFE_Assert_LibInit, ASSERT_LIB, 0, 0, 0x0, 0;
CFE_APP, cfe_testrunner, CFE_TR_AppMain, TESTRUN_APP, 100, 16384, 0x0, 0;
CFE_LIB, cfe_testcase, CFE_Test_Init, CFETEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, psp_test, PSP_Test_Init, PSPTEST_LIB, 0, 0, 0x0, 0;

It is important that `cfe_assert` is loaded first, as all other test libraries depend on
symbols provided in this library. The order of loading other test cases should not
Expand Down
Loading