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

Fix #1061, add mutex lock around UtAssert globals #1065

Merged

Conversation

jphickey
Copy link
Contributor

@jphickey jphickey commented Jun 1, 2021

Describe the contribution
Adding a mutex around modifications to globals allows UtAssert statements to be done from any test thread.

Fixes #1061

Testing performed
Build and run all unit tests, confirm correct operation

Expected behavior changes
UtAssert statements can now be used from any test task without risk of interference

System(s) tested on
Ubuntu

Additional context
Will require an update to CFE if accepted

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Adding a mutex around modifications to globals allows
UtAssert statements to be done from any test thread.
jphickey added a commit to jphickey/cFE that referenced this pull request Jun 1, 2021
Provide the UT_BSP_Lock/Unlock function to be compatible with
nasa/osal#1065.  The library no longer needs to be locked the
entire time a test runs. This also allows test programs to be
multi threaded.
@jphickey jphickey added the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Jun 1, 2021
@astrogeco astrogeco added CCB:Approved Indicates code review and approval by community CCB and removed CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) labels Jun 2, 2021
@astrogeco astrogeco changed the base branch from main to integration-candidate June 10, 2021 22:19
@astrogeco astrogeco merged commit 2b64d91 into nasa:integration-candidate Jun 10, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Jun 10, 2021
nasa/cFE#1596, provide CFE assert lock/unlock
nasa/osal#1065, add mutex lock around UtAssert globals
astrogeco added a commit to nasa/cFS that referenced this pull request Jun 17, 2021
nasa/cFE#1619 - cfe v6.8.0-rc1+dev693
nasa/osal#1076 - osal v5.1.0-rc1+dev530
nasa/PSP#296 - psp v1.5.0-rc1+dev118

*Documentation Updates:*

nasa/cFE#1598, Updated FS Read/WriteHeader API return documentation
nasa/cFE#1601, Document CFE_ES_RunLoop increment task counter behavior
nasa/cFE#1602, Document CFE_TBL_Unregister use-case
nasa/cFE#1603, Update version description per current design

*Standardize docs generation:*

nasa/cFE#1615, standardize on "docs" subdirectory
nasa/osal#1071, rename doc to docs
nasa/PSP#294, rename doc to docs

*Coding Standard:*

nasa/osal#1042
nasa/PSP#292

**Mutex for UTAssert**

nasa/cFE#1596, provide CFE assert lock/unlock
nasa/osal#1065, add mutex lock around UtAssert globals

*Resolve API-UT discrepancies:*

nasa/osal#1055, idmap API
nasa/osal#1056, file API
nasa/osal#1057, filesys API
nasa/osal#1060, socket API
nasa/osal#1064, select API

**Other cFE ixes**

nasa/cFE#1566, Simplify CFE_FS_SetTimestamp and fix syslog typo
nasa/cFE#1592, Removed redundant check/set of CFE_CPU_ID_VALUE
nasa/cFE#1593, add time get reference error bit
nasa/cFE#1600, Add workflow to build cFE documentation
nasa/cFE#1609, Requirements updates
nasa/cFE#1610, ES/ResourceID documentation cleanup
nasa/cFE#1613, allow multiple sources in add_cfe_coverage_test
nasa/cFE#1586, add ES Misc Functional test
nasa/cFE#1607, add Mempool functional tests
nasa/cFE#1605, Clean/simplify version header and reporting
nasa/cFE#1612, doxygen cleanup
nasa/cFE#1611, Prepend system log messages with function name

nasa/osal#1063, const correct OS_SelectFdIsSet
nasa/osal#1073, Fix OS_Select doxygen errors
nasa/osal#1073, Add missing OS_Select param doc
nasa/osal#1067, Add Workflow to build and verify OSAL API Guide
nasa/osal#1070, add detail design template
nasa/osal#1072, Update error codes and documentation
nasa/osal#1075, Increase UT object limit for testing

Co-authored-by: Jacob Hageman <skliper@users.noreply.github.com>
Co-authored-by: Joseph Hickey <jphickey@users.noreply.github.com>
Co-authored-by: Ariel Adams <ArielSAdamsNASA@users.noreply.github.com>
Co-authored-by: Alex Campbell <zanzaben@users.noreply.github.com>
Co-authored-by: Jose F Martinez Pedraza <pepepr08@users.noreply.github.com>
astrogeco added a commit to nasa/cFS that referenced this pull request Jun 17, 2021
nasa/cFE#1619 - cfe v6.8.0-rc1+dev693
nasa/osal#1076 - osal v5.1.0-rc1+dev530
nasa/PSP#296 - psp v1.5.0-rc1+dev118

*Documentation Updates:*

nasa/cFE#1598, Updated FS Read/WriteHeader API return documentation
nasa/cFE#1601, Document CFE_ES_RunLoop increment task counter behavior
nasa/cFE#1602, Document CFE_TBL_Unregister use-case
nasa/cFE#1603, Update version description per current design

*Standardize docs generation:*

nasa/cFE#1615, standardize on "docs" subdirectory
nasa/osal#1071, rename doc to docs
nasa/PSP#294, rename doc to docs

*Coding Standard:*

nasa/osal#1042
nasa/PSP#292

**Mutex for UTAssert**

nasa/cFE#1596, provide CFE assert lock/unlock
nasa/osal#1065, add mutex lock around UtAssert globals

*Resolve API-UT discrepancies:*

nasa/osal#1055, idmap API
nasa/osal#1056, file API
nasa/osal#1057, filesys API
nasa/osal#1060, socket API
nasa/osal#1064, select API

**Other cFE Fixes**

nasa/cFE#1566, Simplify CFE_FS_SetTimestamp and fix syslog typo
nasa/cFE#1592, Removed redundant check/set of CFE_CPU_ID_VALUE
nasa/cFE#1593, add time get reference error bit
nasa/cFE#1600, Add workflow to build cFE documentation
nasa/cFE#1609, Requirements updates
nasa/cFE#1610, ES/ResourceID documentation cleanup
nasa/cFE#1613, allow multiple sources in add_cfe_coverage_test
nasa/cFE#1586, add ES Misc Functional test
nasa/cFE#1607, add Mempool functional tests
nasa/cFE#1605, Clean/simplify version header and reporting
nasa/cFE#1612, doxygen cleanup
nasa/cFE#1611, Prepend system log messages with function name

**Other osal Fixes**

nasa/osal#1063, const correct OS_SelectFdIsSet
nasa/osal#1073, Fix OS_Select doxygen errors
nasa/osal#1073, Add missing OS_Select param doc
nasa/osal#1067, Add Workflow to build and verify OSAL API Guide
nasa/osal#1070, add detail design template
nasa/osal#1072, Update error codes and documentation
nasa/osal#1075, Increase UT object limit for testing

Co-authored-by: Jacob Hageman <skliper@users.noreply.github.com>
Co-authored-by: Joseph Hickey <jphickey@users.noreply.github.com>
Co-authored-by: Ariel Adams <ArielSAdamsNASA@users.noreply.github.com>
Co-authored-by: Alex Campbell <zanzaben@users.noreply.github.com>
Co-authored-by: Jose F Martinez Pedraza <pepepr08@users.noreply.github.com>
@jphickey jphickey deleted the fix-1061-utassert-mutex branch August 3, 2021 15:19
@skliper skliper added this to the 6.0.0 milestone Sep 24, 2021
jphickey pushed a commit to jphickey/osal that referenced this pull request Aug 10, 2022
Fix nasa#1064, Add cppcheck GitHub Actions workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use "BSP" lock to protect UtAssert globals
3 participants