diff --git a/test/perftest/CMakeLists.txt b/test/perftest/CMakeLists.txt index 4185f12..4121bf9 100644 --- a/test/perftest/CMakeLists.txt +++ b/test/perftest/CMakeLists.txt @@ -9,6 +9,8 @@ target_link_libraries(perftest ${TEST_LIBRARIES}) add_dependencies(tests perftest) +IF(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")) add_test(NAME perftest COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/perftest WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +ENDIF() diff --git a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt index fb72878..41e5695 100644 --- a/test/unittest/CMakeLists.txt +++ b/test/unittest/CMakeLists.txt @@ -4,18 +4,29 @@ set(UNITTEST_SOURCES encodingstest.cpp filestreamtest.cpp jsoncheckertest.cpp - namespacetest.cpp readertest.cpp unittest.cpp unittest.h valuetest.cpp writertest.cpp) +add_library(namespacetest STATIC namespacetest.cpp) + add_executable(unittest ${UNITTEST_SOURCES}) -target_link_libraries(unittest ${TEST_LIBRARIES}) +target_link_libraries(unittest ${TEST_LIBRARIES} namespacetest) add_dependencies(tests unittest) add_test(NAME unittest COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + +add_test(NAME valgrind_unittest + COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + +IF((NOT MSVC) AND (CMAKE_BUILD_TYPE STREQUAL "Debug")) +add_test(NAME symbol_check + COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +ENDIF()