mirror of https://github.com/gnss-sdr/gnss-sdr
Add options to enable/disable building of unit and system testing
Unit Testing is enabled by default. In some memory-constrained environments it can be useful to disable its building. It can be disabled by setting -DENABLE_UNIT_TESTING=OFF System testing is disabled by default. It can be build by setting -DENABLE_SYSTEM_TESTING=ON
This commit is contained in:
parent
3a10f3c26b
commit
ff4c323b01
|
@ -59,6 +59,9 @@ if(ENABLE_PACKAGING)
|
||||||
set(ENABLE_GENERIC_ARCH ON)
|
set(ENABLE_GENERIC_ARCH ON)
|
||||||
endif(ENABLE_PACKAGING)
|
endif(ENABLE_PACKAGING)
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
option(ENABLE_SYSTEM_TESTING "Builds system tests" OFF)
|
||||||
|
option(ENABLE_UNIT_TESTING "Builds unit tests" ON)
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# GNSS-SDR version information
|
# GNSS-SDR version information
|
||||||
|
@ -296,29 +299,31 @@ endif(NOT ENABLE_GENERIC_ARCH)
|
||||||
# Googletest - https://github.com/google/googletest
|
# Googletest - https://github.com/google/googletest
|
||||||
################################################################################
|
################################################################################
|
||||||
enable_testing()
|
enable_testing()
|
||||||
if(EXISTS $ENV{GTEST_DIR})
|
if(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||||
set(GTEST_DIR $ENV{GTEST_DIR})
|
if(EXISTS $ENV{GTEST_DIR})
|
||||||
endif(EXISTS $ENV{GTEST_DIR})
|
set(GTEST_DIR $ENV{GTEST_DIR})
|
||||||
if(GTEST_DIR)
|
endif(EXISTS $ENV{GTEST_DIR})
|
||||||
message(STATUS "Googletest root folder set at ${GTEST_DIR}")
|
if(GTEST_DIR)
|
||||||
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS ${GTEST_DIR})
|
message(STATUS "Googletest root folder set at ${GTEST_DIR}")
|
||||||
if(LIBGTEST_DEV_DIR)
|
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS ${GTEST_DIR})
|
||||||
message (STATUS "Googletest has been found.")
|
if(LIBGTEST_DEV_DIR)
|
||||||
else(LIBGTEST_DEV_DIR)
|
message (STATUS "Googletest has been found.")
|
||||||
message (FATAL_ERROR " Googletest source code has not been found at ${GTEST_DIR}.")
|
else(LIBGTEST_DEV_DIR)
|
||||||
endif(LIBGTEST_DEV_DIR)
|
message (FATAL_ERROR " Googletest source code has not been found at ${GTEST_DIR}.")
|
||||||
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
|
endif(LIBGTEST_DEV_DIR)
|
||||||
else(GTEST_DIR)
|
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
|
||||||
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/gtest /opt/local/src/gtest-1.7.0)
|
else(GTEST_DIR)
|
||||||
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
|
find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/gtest /opt/local/src/gtest-1.7.0)
|
||||||
if(LIBGTEST_DEV_DIR)
|
find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
|
||||||
message (STATUS "Googletest (libgtest-dev package) has been found.")
|
if(LIBGTEST_DEV_DIR)
|
||||||
else(LIBGTEST_DEV_DIR)
|
message (STATUS "Googletest (libgtest-dev package) has been found.")
|
||||||
message (STATUS " Googletest has not been found.")
|
else(LIBGTEST_DEV_DIR)
|
||||||
message (STATUS " Googletest will be downloaded and built automatically ")
|
message (STATUS " Googletest has not been found.")
|
||||||
message (STATUS " when doing 'make'. ")
|
message (STATUS " Googletest will be downloaded and built automatically ")
|
||||||
endif(LIBGTEST_DEV_DIR)
|
message (STATUS " when doing 'make'. ")
|
||||||
endif(GTEST_DIR)
|
endif(LIBGTEST_DEV_DIR)
|
||||||
|
endif(GTEST_DIR)
|
||||||
|
endif(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,5 +19,7 @@
|
||||||
add_subdirectory(algorithms)
|
add_subdirectory(algorithms)
|
||||||
add_subdirectory(core)
|
add_subdirectory(core)
|
||||||
add_subdirectory(main)
|
add_subdirectory(main)
|
||||||
add_subdirectory(tests)
|
if(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||||
|
add_subdirectory(tests)
|
||||||
|
endif(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||||
add_subdirectory(utils)
|
add_subdirectory(utils)
|
||||||
|
|
|
@ -164,14 +164,14 @@ endif(ENABLE_CUDA)
|
||||||
|
|
||||||
add_definitions(-DTEST_PATH="${CMAKE_SOURCE_DIR}/src/tests/")
|
add_definitions(-DTEST_PATH="${CMAKE_SOURCE_DIR}/src/tests/")
|
||||||
|
|
||||||
|
if(ENABLE_UNIT_TESTING)
|
||||||
|
add_executable(run_tests ${CMAKE_CURRENT_SOURCE_DIR}/test_main.cc)
|
||||||
|
|
||||||
add_executable(run_tests ${CMAKE_CURRENT_SOURCE_DIR}/test_main.cc)
|
add_custom_command(TARGET run_tests POST_BUILD
|
||||||
|
|
||||||
add_custom_command(TARGET run_tests POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:run_tests>
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:run_tests>
|
||||||
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:run_tests>)
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:run_tests>)
|
||||||
|
|
||||||
target_link_libraries(run_tests ${CLANG_FLAGS}
|
target_link_libraries(run_tests ${CLANG_FLAGS}
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
${GFLAGS_LIBS}
|
${GFLAGS_LIBS}
|
||||||
${GLOG_LIBRARIES}
|
${GLOG_LIBRARIES}
|
||||||
|
@ -191,8 +191,8 @@ target_link_libraries(run_tests ${CLANG_FLAGS}
|
||||||
pvt_gr_blocks
|
pvt_gr_blocks
|
||||||
${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
|
${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
|
||||||
${GNSS_SDR_TEST_OPTIONAL_LIBS}
|
${GNSS_SDR_TEST_OPTIONAL_LIBS}
|
||||||
)
|
)
|
||||||
|
endif(ENABLE_UNIT_TESTING)
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Adding Tests to Ctest
|
# Adding Tests to Ctest
|
||||||
|
@ -375,21 +375,30 @@ add_dependencies(check control_thread_test flowgraph_test gnss_block_test
|
||||||
|
|
||||||
|
|
||||||
# Addition of System Tests
|
# Addition of System Tests
|
||||||
add_executable(ttff
|
if(ENABLE_SYSTEM_TESTING)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/system-tests/ttff_gps_l1.cc )
|
add_executable(ttff
|
||||||
if(NOT ${GTEST_DIR_LOCAL})
|
${CMAKE_CURRENT_SOURCE_DIR}/system-tests/ttff_gps_l1.cc )
|
||||||
add_dependencies(ttff gtest-${gtest_RELEASE})
|
if(NOT ${GTEST_DIR_LOCAL})
|
||||||
else(NOT ${GTEST_DIR_LOCAL})
|
add_dependencies(ttff gtest-${gtest_RELEASE})
|
||||||
add_dependencies(ttff gtest)
|
else(NOT ${GTEST_DIR_LOCAL})
|
||||||
endif(NOT ${GTEST_DIR_LOCAL})
|
add_dependencies(ttff gtest)
|
||||||
target_link_libraries(ttff
|
endif(NOT ${GTEST_DIR_LOCAL})
|
||||||
${Boost_LIBRARIES}
|
target_link_libraries(ttff
|
||||||
${GFLAGS_LIBS}
|
${Boost_LIBRARIES}
|
||||||
${GLOG_LIBRARIES}
|
${GFLAGS_LIBS}
|
||||||
${GTEST_LIBRARIES}
|
${GLOG_LIBRARIES}
|
||||||
gnss_rx
|
${GTEST_LIBRARIES}
|
||||||
)
|
${GNURADIO_RUNTIME_LIBRARIES}
|
||||||
add_custom_command(TARGET ttff POST_BUILD
|
${GNURADIO_BLOCKS_LIBRARIES}
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ttff>
|
${GNURADIO_FILTER_LIBRARIES}
|
||||||
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
|
${GNURADIO_ANALOG_LIBRARIES}
|
||||||
)
|
${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
|
||||||
|
gnss_sp_libs
|
||||||
|
gnss_rx
|
||||||
|
gnss_system_parameters
|
||||||
|
)
|
||||||
|
add_custom_command(TARGET ttff POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ttff>
|
||||||
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
|
||||||
|
)
|
||||||
|
endif(ENABLE_SYSTEM_TESTING)
|
Loading…
Reference in New Issue