Kaynağa Gözat

tests: run cJSON_test{,_utils} along with the other tests

Max Bruckner 8 yıl önce
ebeveyn
işleme
c597601cf1
2 değiştirilmiş dosya ile 16 ekleme ve 6 silme
  1. 15 0
      CMakeLists.txt
  2. 1 6
      tests/CMakeLists.txt

+ 15 - 0
CMakeLists.txt

@@ -167,9 +167,24 @@ if(ENABLE_CJSON_TEST)
     add_executable("${TEST_CJSON}" test.c)
     target_link_libraries("${TEST_CJSON}" "${CJSON_LIB}")
 
+    add_test(NAME ${TEST_CJSON} COMMAND "${CMAKE_CURRENT_BINARY_DIR}/${TEST_CJSON}")
+    # Disable -fsanitize=float-divide-by-zero for cJSON_test
+    list(FIND custom_compiler_flags "-fsanitize=float-divide-by-zero" float_divide_by_zero_found)
+    if (float_divide_by_zero_found)
+        target_compile_options(${TEST_CJSON} PRIVATE "-fno-sanitize=float-divide-by-zero")
+    endif()
+
     if(ENABLE_CJSON_UTILS)
         set(TEST_CJSON_UTILS cJSON_test_utils)
         add_executable("${TEST_CJSON_UTILS}" test_utils.c)
         target_link_libraries("${TEST_CJSON_UTILS}" "${CJSON_UTILS_LIB}")
+
+        add_test(NAME ${TEST_CJSON_UTILS} COMMAND "${CMAKE_CURRENT_BINARY_DIR}/${TEST_CJSON_UTILS}")
     endif()
+
+    #"check" target that automatically builds everything and runs the tests
+    add_custom_target(check
+        COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
+        DEPENDS ${unity_tests} ${TEST_CJSON} ${TEST_CJSON_UTILS})
+
 endif()

+ 1 - 6
tests/CMakeLists.txt

@@ -46,17 +46,12 @@ if(ENABLE_CJSON_TEST)
         endif()
     endif()
 
-    #"check" target that automatically builds everything and runs the tests
-    add_custom_target(check 
-        COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
-        DEPENDS ${unity_tests})
-
     foreach(unity_test ${unity_tests})
         add_executable("${unity_test}" "${unity_test}.c")
         target_link_libraries("${unity_test}" "${CJSON_LIB}" unity test-common)
         if(MEMORYCHECK_COMMAND)
             add_test(NAME "${unity_test}"
-                COMMAND "${MEMORYCHECK_COMMAND}" ${MEMORYCHECK_COMMAND_OPTIONS} "./${unity_test}")
+                COMMAND "${MEMORYCHECK_COMMAND}" ${MEMORYCHECK_COMMAND_OPTIONS} "${CMAKE_CURRENT_BINARY_DIR}/${unity_test}")
         else()
             add_test(NAME "${unity_test}"
                 COMMAND "./${unity_test}")