69 lines
2.1 KiB
CMake
69 lines
2.1 KiB
CMake
include( ${MODULE_ROOT_DIR}/jobsFilePaths.cmake )
|
|
|
|
# ==================== Define your project name (edit) ========================
|
|
set(project_name "jobs")
|
|
|
|
# ===================== Create your mock here (edit) ========================
|
|
# ================= Create the library under test here (edit) ==================
|
|
|
|
# Base name for temporary files
|
|
set( TEMP_BASE ${CMAKE_BINARY_DIR}/${project_name} )
|
|
|
|
# Strip static constraints so unit tests may call internal functions
|
|
execute_process( COMMAND sed "s/^static //"
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
INPUT_FILE ${JOBS_SOURCES}
|
|
OUTPUT_FILE ${TEMP_BASE}.c
|
|
)
|
|
|
|
# Generate a header file for internal functions
|
|
execute_process( COMMAND sed -n "1s/.*/typedef int bool_;/p; /^static.*(/,/^{\$/{s/^static //; s/)\$/&;/; /{/d; p;}"
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
INPUT_FILE ${JOBS_SOURCES}
|
|
OUTPUT_FILE ${TEMP_BASE}_annex.h
|
|
)
|
|
|
|
# list the files you would like to test here
|
|
list(APPEND real_source_files
|
|
${TEMP_BASE}.c
|
|
)
|
|
# list the directories the module under test includes
|
|
list(APPEND real_include_directories
|
|
${JOBS_INCLUDE_PUBLIC_DIRS}
|
|
)
|
|
|
|
# ===================== Create UnitTest Code here (edit) =====================
|
|
|
|
# list the directories your test needs to include
|
|
list(APPEND test_include_directories
|
|
${JOBS_INCLUDE_PUBLIC_DIRS}
|
|
${UNIT_TEST_DIR}
|
|
${CMAKE_BINARY_DIR}
|
|
)
|
|
|
|
# ============================= (end edit) ===================================
|
|
|
|
set(real_name "${project_name}_real")
|
|
|
|
create_real_library(${real_name}
|
|
"${real_source_files}"
|
|
"${real_include_directories}"
|
|
)
|
|
|
|
list(APPEND utest_link_list
|
|
lib${real_name}.a
|
|
)
|
|
|
|
list(APPEND utest_dep_list
|
|
${real_name}
|
|
)
|
|
|
|
set(utest_name "${project_name}_utest")
|
|
set(utest_source "${project_name}_utest.c")
|
|
create_test(${utest_name}
|
|
${utest_source}
|
|
"${utest_link_list}"
|
|
"${utest_dep_list}"
|
|
"${test_include_directories}"
|
|
)
|