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.
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).
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.
Correct items flagged as warnings in documenation build, and
remove now-unused definition in sample platform config
Should be CFE_MISSION_SPACECRAFT_ID
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.
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.
Fix #637, Remove old CFE_ARINC653-related tests
Fix #484, Deprecate shell output command
Fix #523, SB Subscription report control on separate MID
Fix #551, Remove duplicate CFE_TIME_Local1HzISR prototype
Fix #676, reference to deprecated CFE_SPACECRAFT_ID
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.
Fix #411, rework exception handling in CFE
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
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