-
Notifications
You must be signed in to change notification settings - Fork 215
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 #989, add local mutex to BSP console #992
Merged
astrogeco
merged 1 commit into
nasa:integration-candidate
from
jphickey:fix-989-console-debug-output
May 11, 2021
Merged
Fix #989, add local mutex to BSP console #992
astrogeco
merged 1 commit into
nasa:integration-candidate
from
jphickey:fix-989-console-debug-output
May 11, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For an example of what the VxWorks output looks like with this mutex in place, see gist here: https://gist.github.com/jphickey/f6a92eca17346978618967f2e9657322 This is a complete log of a run of the "network-api-test" program. Compare to the excerpt from the original issue ticket. |
jphickey
added
the
CCB:Ready
Pull request is ready for discussion at the Configuration Control Board (CCB)
label
May 7, 2021
jphickey
force-pushed
the
fix-989-console-debug-output
branch
from
May 7, 2021 19:16
d754ebd
to
5ff05e3
Compare
Adds a real mutex for use with low level BSP console output. This needs to be actually implemented in the BSP layer, so it will be used by UtAssert outputs (pass/fail message) in addition to OS_printf(). This also converts OS_DEBUG to use the same console output rather than calling fprintf directly. The combination of a mutex and all common print outputs (UtAssert, OS_printf, OS_DEBUG) going through the same path makes the test output on VxWorks much more coherent.
jphickey
force-pushed
the
fix-989-console-debug-output
branch
from
May 7, 2021 19:17
5ff05e3
to
6951d97
Compare
skliper
approved these changes
May 10, 2021
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
May 11, 2021
nasa/osal#992, add local mutex to BSP console nasa/osal#993, do not require nonblock mode
astrogeco
removed
the
CCB:Ready
Pull request is ready for discussion at the Configuration Control Board (CCB)
label
May 12, 2021
CCB:2021-05-12 APPROVED |
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
May 12, 2021
nasa/cFE#1492, cFE v6.8.0-rc1+dev575 nasa/osal#996, osal v5.1.0-rc1+dev434 nasa/cFE#1487, Remove broken travis-ci script nasa/cFE#1463, generated coverage stubs for CFE core nasa/cFE#1463, Move CFE_FS_RunBackgroundFileDump to internal API nasa/cFE#1451, OSAL config file simplification nasa/cFE#1489, removes --quiet option so files checked go to stdout nasa/osal#978, configuration guide updates nasa/osal#974, improve documentation of UtAssert API calls nasa/osal#977, update OS_TaskCreate doc nasa/osal#997, Enable cppcheck results output nasa/osal#980, Scrub return values nasa/osal#992, add local mutex to BSP console nasa/osal#993, do not require nonblock mode
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
May 12, 2021
nasa/cFE#1492, cFE v6.8.0-rc1+dev575 nasa/osal#996, osal v5.1.0-rc1+dev434 nasa/cFE#1487, Remove broken travis-ci script nasa/cFE#1463, generated coverage stubs for CFE core nasa/cFE#1463, Move CFE_FS_RunBackgroundFileDump to internal API nasa/cFE#1451, OSAL config file simplification nasa/cFE#1489, removes --quiet option so files checked go to stdout nasa/osal#978, configuration guide updates nasa/osal#974, improve documentation of UtAssert API calls nasa/osal#977, update OS_TaskCreate doc nasa/osal#997, Enable cppcheck results output nasa/osal#980, Scrub return values nasa/osal#992, add local mutex to BSP console nasa/osal#993, do not require nonblock mode Co-authored-by: Jacob Hageman <jacob.hageman@nasa.gov> Co-authored-by: Joseph Hickey <joseph.p.hickey@nasa.gov>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the contribution
Adds a generic mutex facility to the low level BSP. This is mainly for use with low level BSP console output, but could be used for other items that should only be accessed by one task at a time.
This needs to be actually implemented in the BSP layer, so it can be used by UtAssert report outputs (pass/fail message) in addition to OS_printf(). Note that UtAssert always uses the OSAL BSP and does its text output via this layer, but it does not necessarily use the full OSAL with its OS_printf/console abstraction. So by implementing the lock in the BSP, it works with all modes of operation.
This also converts
OS_DEBUG
outputs to use the same console output facility rather than callingfprintf()
directly.The combination of a mutex and all common print outputs (UtAssert, OS_printf, OS_DEBUG) going through the same
path makes the test output on VxWorks much more coherent.
Fixes #989
Testing performed
Build and sanity check CFE and run all unit tests on native and RTEMS. Also build and run select tests on VxWorks to confirm.
Expected behavior changes
Console Output when running UtAssert-based tests is not garbled, much more coherent and readable.
System(s) tested on
Ubuntu 20.04 (native)
RTEMS 4.11 (QEMU)
VxWorks 6.9 (MCP750)
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.