Skip to content

Fix #2801, reduce file systems init complexity - #2826

Open
chillfig wants to merge 1 commit into
nasa:devfrom
chillfig:fix-2801-file-init-complexity
Open

Fix #2801, reduce file systems init complexity#2826
chillfig wants to merge 1 commit into
nasa:devfrom
chillfig:fix-2801-file-init-complexity

Conversation

@chillfig

@chillfig chillfig commented Sep 1, 2026

Copy link
Copy Markdown
Member

name: FSW Code Change
about: Flight Software code changes
labels: fsw

Description of Change

Creates three static helpers: _SetupVolume , _CheckFreeSpace , and _ReformatVolume . drops the cyclomatic complexity of CFE_ES_InitializeFileSystems from 16 to 5, with no helper exceeding 5, and existing ES unit tests reach 100% line and branch coverage on all four functions unchanged

explicit return is added in the _ReformatVolume helper to stop the code from attempting to reformat a disk it just failed to unmount.

Note that we pass the original function string as LogFunction so the log avoids using helper function naming.

Linked Issue

Closes #2801

Requirements Impact

  • Requirement ID(s):
  • Requirements updated as necessary
  • Existing requirements are still satisfied by this change

Testing Evidence

build, unit and functional tests. No functional change

Unit Tests (UT Assert)

COSMOS Test Suite

N/A

Areas of Expertise Touched

  • ASTRO
  • CI/CD
  • COSMOS
  • Cybersecurity
  • Docker
  • EDS
  • Git
  • PSPs
  • SBN
  • SMP
  • Tables
  • TSN
  • Unit Tests
  • Other

Author Checklist

  • Linked GitHub issue is referenced above
  • Code has been formatted with .clang-format
  • Static analysis workflows ran and passed
  • Unit tests (UT Assert) updated/added to cover code changes
  • Unit test workflows ran and passed
  • COSMOS test suite was run; tests updated/added if relevant changes were made
  • Requirements have been reviewed; updated or confirmed still satisfied (see above)
  • Testing evidence is included above
  • Self-review of the diff completed

Reviewer Checklist

  • Code logic is correct and matches the stated intent
  • Code is readable, maintainable, and follows project conventions (ask your lead if you are unsure of where to find these conventions)
  • .clang-format has been applied
  • Static analysis results reviewed and acceptable
  • The change has been exercised by the unit tests (not just that tests pass — the new/changed code paths are actually covered)
  • COSMOS test suite was executed against this change and results reviewed (or confirmed N/A with justification)
  • Reviewer has independently verified the change behaves as described (e.g., by running the tests locally, reviewing CI output in detail, or performing additional ad-hoc testing as warranted)
  • Memory safety reviewed (allocation, bounds, lifetime, stack usage)
  • Requirements impact reviewed and appropriate
  • Error handling is appropriate
  • Appropriate Expert areas have been reviewed

Reviewer Testing Notes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A function in cfe_es_start.c has complexity > 15

1 participant