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

Integration Candidate COMBINED 2020-04-29 and 2020-05-06 #692

Merged
merged 36 commits into from
May 13, 2020

Conversation

astrogeco
Copy link
Contributor

@astrogeco astrogeco commented May 8, 2020

Describe the contribution

Fix #399, Deprecate decompress
Fix #411, rework exception handling in CFE
Fix #484, Deprecate output to shell commandFix #491, Add UT macros
Fix #519, Deprecate CFS/FS time conversion APIs
Fix #523, SB Subscription report control on separate MID
Fix #551, Remove duplicate CFE_TIME_Local1HzISR prototype
Fix #559, Resolve doxygen warnings
Fix #618, stubs must not depend on real msgid implementation
Fix #637, Remove old CFE_ARINC653-related tests
Fix #639, Remove ES_APP_DEBUG functionality
Fix #641, string operations on GCC9
Fix #661, TBL events update
Fix #666, Change message definitions to ensure alignment
Fix #676, reference to deprecated CFE_SPACECRAFT_ID

Testing performed
See PRs
Bundle CI - https://travis-ci.com/github/nasa/cFS/builds/165726730

Expected behavior changes

PR #638 - No longer automatically decompresses apps/libraries as part of load

PR #646 - Deletes now unused CFE_ES_CountObjectCallback
and CFE_ES_ListResourcesDebug. Flags were unused

PR #640 - Removes all conditional preprocessing blocks related to CFE_ARINC653.

PR #642 - Ensure clean build, no warnings on string operations using GCC 9.3.0.

PR #645 - When OMIT_DEPRECATED = true attempt to send output to shell command will result in command error counter increment (unrecognized function code)

PR #647 - SBN will need to init command with new MID

PR #648 - Documentation links and references will now work properly

PR #653 - API CFE_ES_ProcessCoreException is removed, replaced with async event.

PR #668 - Removed duplicate prototype in cfe_time_utils.h

PR #669 - Removes unused defines and adds documentation to TBL event defines.

PR #670 - Deprecates CFE_TIME_CFE2FSSeconds and CFE_TIME_FS2CFESeconds.

PR #674 - Unit tests now build and run when MESSAGE_FORMAT_IS_CCSDS_VER_2 is configured.

PR #677 - Build now works with both extended headers and OMIT_DEPRECATED options set.

PR #678 - No more alignment warnings

PR #695 - Adds new unit test macros

System(s) tested on
See PRs

Additional context
Part of nasa/cFS#83

Contributor Info - All information REQUIRED for consideration of pull request
Jacob Hageman, NASA-GSFC
Christopher D. Knight, NASA-ARC
Leor Bleier, NASA-GSFC
Joseph Hickey, Vantage Systems, Inc.
Guillaume Lethuillier, Self

lethuillierg and others added 30 commits April 24, 2020 19:52
Ensure clean build, no warnings on string operations using GCC 9.3.0.

Some string ops were genuinely incorrect (particularly in UT) but some
were perfectly OK and handled correctly per the C spec.  In particular
the new "rules" that GCC9 warns about make the strncat library function
(and some others) somewhat off-limits even if used correctly.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
The CFE_SB_GetMsgId/SetMsgId functions, among others, were implemented
as replicas of the actual FSW code.  This creates a dependency on the
actual definition of MsgId used by the mission.

This makes the stub and actual stub.  Stubs not actually
read/write to the message in any way, they just manipulate a
local (stored in the UT framework) out-of-band buffer to hold
the metadata about the message.

This revealed a few other minor issues in test cases where they
were depending on values sitting in globals (fixed).

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Move exception handling to a PSP function.  In this approach
the CFE only logs data after the event as a background job.

Replaces the CFE_ES_ProcessCoreException with a simple notification
that causes the ES background job to run, which in turn polls the
PSP for logged exceptions and writes entries to the ES ER log.

Both the PSP execption scan and the ER log file dump are converted
to background jobs.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Correct items flagged as warnings in documenation build, and
remove now-unused definition in sample platform config

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Should be CFE_MISSION_SPACECRAFT_ID

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
The "CFE_SB_CmdHdr_t" and "CFE_SB_TlmHdr_t" types were not defined
such that they would have compatible alignment with (and thereby allow
safe casting to/from) a CFE_SB_Msg_t type.

This changes the definition to be a union so that the types are
aligned correctly.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update the CFE_ES_ShellTlm_t, CFE_TIME_ToneSignalCmd_t, and
CFE_TIME_FakeToneCmd_t to use the CFE_SB_TlmHdr_t/CFE_SB_CmdHdr_t
types to define the buffer, rather than a uint8 array.

This should not change the size, as it was already defined using
sizeof() this structure, but it will make it aligned correctly
which resolves the compiler warning.

Note that all CMD/TLM should really be defined this way, but
this only selectively changes the places that were actually
generating a compiler warning about this.  There is a risk
that padding will be added, but this change should not change
the padding or size of messages in 32-bit builds.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix #637, Remove old CFE_ARINC653-related tests

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix #484, Deprecate shell output command

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix #641, string operations on GCC9

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix #523, SB Subscription report control on separate MID
Fix #551, Remove duplicate CFE_TIME_Local1HzISR prototype

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Fix #676, reference to deprecated CFE_SPACECRAFT_ID

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update the CFE_ES_ShellTlm_t, CFE_TIME_ToneSignalCmd_t, and
CFE_TIME_FakeToneCmd_t to use the CFE_SB_TlmHdr_t/CFE_SB_CmdHdr_t
types to define the buffer, rather than a uint8 array.

This should not change the size, as it was already defined using
sizeof() this structure, but it will make it aligned correctly
which resolves the compiler warning.

Note that all CMD/TLM should really be defined this way, but
this only selectively changes the places that were actually
generating a compiler warning about this.  There is a risk
that padding will be added, but this change should not change
the padding or size of messages in 32-bit builds.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Fix #411, rework exception handling in CFE

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Fix #666, alignment of CMD/TLM message definitions
Fix #618, stubs must not depend on real msgid implementation
Fix #519, Deprecate CFS/FS time conversion APIs
Deletes now unused CFE_ES_CountObjectCallback
and CFE_ES_ListResourcesDebug.
Removes untraced capabilities to decompress libraries or
apps on load.  For non-startup apps, FS can be used.  For
startup, recommendation is to compress/decompress as part
of boot/startup vs individual applications/libs at load.

Also fixes #291, by deprecating decompress it can be moved
to the FS app.

Also makes #135 N/A, static code analysis issues in decompress
Fix #639, Remove ES_APP_DEBUG functionality
@skliper skliper force-pushed the integration-candidate branch from e79d2a7 to 7b56b85 Compare May 11, 2020 15:30
jphickey and others added 3 commits May 11, 2020 12:34
For CFE_SB_SendMsg this was still reading the length directly
from the header.  It needs to use the metadata value instead.
@skliper skliper added this to the 6.8.0 milestone May 12, 2020
@astrogeco astrogeco changed the title Integration Candidate: 2020-04-29 Integration Candidate COMBINED 2020-04-29 and 2020-05-06 May 13, 2020
@astrogeco astrogeco marked this pull request as ready for review May 13, 2020 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment