Skip to content

Commit

Permalink
Merge pull request #14 from nasa-itc/nos3#176-unit-tests
Browse files Browse the repository at this point in the history
[nasa/nos3#176] Unit Tests
  • Loading branch information
jlucas9 authored Aug 6, 2024
2 parents bf8dd3d + 51c88a3 commit 7845664
Show file tree
Hide file tree
Showing 5 changed files with 639 additions and 0 deletions.
8 changes: 8 additions & 0 deletions fsw/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,11 @@ aux_source_directory(src APP_SRC_FILES)

# Create the app module
add_cfe_app(sample ${APP_SRC_FILES})

# If UT is enabled, then add the tests from the subdirectory
# Note that this is an app, and therefore does not provide
# stub functions, as other entities would not typically make
# direct function calls into this application.
if (ENABLE_UNIT_TESTS)
add_subdirectory(unit-test)
endif (ENABLE_UNIT_TESTS)
46 changes: 46 additions & 0 deletions fsw/unit-test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
##################################################################
#
# Coverage Unit Test build recipe
#
# This CMake file contains the recipe for building the sample unit tests.
# It is invoked from the parent directory when unit tests are enabled.
#
##################################################################

#
#
# NOTE on the subdirectory structures here:
#
# - "inc" provides local header files shared between the coveragetest,
# wrappers, and overrides source code units
# - "coveragetest" contains source code for the actual unit test cases
# The primary objective is to get line/path coverage on the FSW
# code units.
#

# Use the UT assert public API, and allow direct
# inclusion of source files that are normally private
include_directories(${PROJECT_SOURCE_DIR}/fsw/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
include_directories(${hwlib_MISSION_DIR}/fsw/public_inc)


# Add a coverage test executable called "sample-ALL" that
# covers all of the functions in sample_app.
#
# Also note in a more complex app/lib the coverage test can also
# be broken down into smaller units (in which case one should use
# a unique suffix other than "ALL" for each unit). For example,
# OSAL implements a separate coverage test per source unit.
add_cfe_coverage_test(sample ALL
"coveragetest/coveragetest_sample_app.c"
"../src/sample_app.c"
"../src/sample_device.c"
"../../../../fsw/apps/hwlib/fsw/stubs/libuart.c"
)

# The sample uses library functions provided by sample_lib so must be linked
# with the sample_lib stub library (this is mainly just an example of how this
# can be done).
#add_cfe_coverage_dependency(sample ALL sample_lib)

Loading

0 comments on commit 7845664

Please sign in to comment.