[hamradio-commits] [gnss-sdr] 67/303: Add options to enable/disable building of unit and system testing

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:35:48 UTC 2017


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.

commit ff4c323b0134551229063f797ae3d75cf5d09561
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Sun Oct 2 01:59:12 2016 +0200

    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
---
 CMakeLists.txt           | 51 ++++++++++++++++++++++++-------------------
 src/CMakeLists.txt       |  4 +++-
 src/tests/CMakeLists.txt | 57 ++++++++++++++++++++++++++++--------------------
 3 files changed, 64 insertions(+), 48 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0eb1ff6..e98c6af 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -59,6 +59,9 @@ if(ENABLE_PACKAGING)
     set(ENABLE_GENERIC_ARCH ON)
 endif(ENABLE_PACKAGING)
 
+# Testing
+option(ENABLE_SYSTEM_TESTING "Builds system tests" OFF)
+option(ENABLE_UNIT_TESTING "Builds unit tests" ON)
 
 ###############################
 # GNSS-SDR version information
@@ -296,29 +299,31 @@ endif(NOT ENABLE_GENERIC_ARCH)
 # Googletest - https://github.com/google/googletest
 ################################################################################
 enable_testing()
-if(EXISTS $ENV{GTEST_DIR})
-     set(GTEST_DIR $ENV{GTEST_DIR})
-endif(EXISTS $ENV{GTEST_DIR})
-if(GTEST_DIR)
-     message(STATUS "Googletest root folder set at ${GTEST_DIR}")
-     find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS ${GTEST_DIR})
-     if(LIBGTEST_DEV_DIR)
-         message (STATUS "Googletest has been found.")
-     else(LIBGTEST_DEV_DIR)
-         message (FATAL_ERROR " Googletest source code has not been found at ${GTEST_DIR}.")
-     endif(LIBGTEST_DEV_DIR)
-     find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
-else(GTEST_DIR)
-     find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/gtest /opt/local/src/gtest-1.7.0)
-     find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
-     if(LIBGTEST_DEV_DIR)
-         message (STATUS "Googletest (libgtest-dev package) has been found.")
-     else(LIBGTEST_DEV_DIR)
-         message (STATUS " Googletest has not been found.")
-         message (STATUS " Googletest will be downloaded and built automatically ")
-         message (STATUS " when doing 'make'. ")
-     endif(LIBGTEST_DEV_DIR)
-endif(GTEST_DIR)
+if(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
+    if(EXISTS $ENV{GTEST_DIR})
+        set(GTEST_DIR $ENV{GTEST_DIR})
+    endif(EXISTS $ENV{GTEST_DIR})
+    if(GTEST_DIR)
+        message(STATUS "Googletest root folder set at ${GTEST_DIR}")
+        find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS ${GTEST_DIR})
+        if(LIBGTEST_DEV_DIR)
+            message (STATUS "Googletest has been found.")
+        else(LIBGTEST_DEV_DIR)
+            message (FATAL_ERROR " Googletest source code has not been found at ${GTEST_DIR}.")
+        endif(LIBGTEST_DEV_DIR)
+        find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_DIR}/include)
+    else(GTEST_DIR)
+        find_path(LIBGTEST_DEV_DIR NAMES src/gtest-all.cc PATHS /usr/src/gtest /opt/local/src/gtest-1.7.0)
+        find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS /usr/include /opt/local/src/gtest-1.7.0/include)
+        if(LIBGTEST_DEV_DIR)
+            message (STATUS "Googletest (libgtest-dev package) has been found.")
+        else(LIBGTEST_DEV_DIR)
+            message (STATUS " Googletest has not been found.")
+            message (STATUS " Googletest will be downloaded and built automatically ")
+            message (STATUS " when doing 'make'. ")
+        endif(LIBGTEST_DEV_DIR)
+    endif(GTEST_DIR)
+endif(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
 
 
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3680638..fbce5e4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -19,5 +19,7 @@
 add_subdirectory(algorithms)
 add_subdirectory(core)
 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)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 0838dc8..d755ef9 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -164,14 +164,14 @@ endif(ENABLE_CUDA)
 
 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>
                        ${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}
                                 ${GFLAGS_LIBS}
                                 ${GLOG_LIBRARIES}
@@ -191,8 +191,8 @@ target_link_libraries(run_tests ${CLANG_FLAGS}
                                 pvt_gr_blocks
                                 ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
                                 ${GNSS_SDR_TEST_OPTIONAL_LIBS}
-)
-
+    )
+endif(ENABLE_UNIT_TESTING)
 
 #########################################################
 #  Adding Tests to Ctest
@@ -375,21 +375,30 @@ add_dependencies(check control_thread_test flowgraph_test gnss_block_test
 
 
 # Addition of System Tests
-add_executable(ttff
-    ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/ttff_gps_l1.cc )
-if(NOT ${GTEST_DIR_LOCAL})
-    add_dependencies(ttff gtest-${gtest_RELEASE})
-else(NOT ${GTEST_DIR_LOCAL})
-    add_dependencies(ttff gtest)
-endif(NOT ${GTEST_DIR_LOCAL})
-target_link_libraries(ttff
-    ${Boost_LIBRARIES}
-    ${GFLAGS_LIBS}
-    ${GLOG_LIBRARIES}
-    ${GTEST_LIBRARIES}
-    gnss_rx
-)
-add_custom_command(TARGET ttff POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ttff>
-    ${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
-)
+if(ENABLE_SYSTEM_TESTING)
+    add_executable(ttff
+        ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/ttff_gps_l1.cc )
+    if(NOT ${GTEST_DIR_LOCAL})
+        add_dependencies(ttff gtest-${gtest_RELEASE})
+    else(NOT ${GTEST_DIR_LOCAL})
+        add_dependencies(ttff gtest)
+    endif(NOT ${GTEST_DIR_LOCAL})
+    target_link_libraries(ttff
+        ${Boost_LIBRARIES}
+        ${GFLAGS_LIBS}
+        ${GLOG_LIBRARIES}
+        ${GTEST_LIBRARIES}
+        ${GNURADIO_RUNTIME_LIBRARIES}
+        ${GNURADIO_BLOCKS_LIBRARIES}
+        ${GNURADIO_FILTER_LIBRARIES}
+        ${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)
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list