if(NOT BUILD_TESTING) return() endif() if(NOT NATS_BUILD_LIB_STATIC) MESSAGE(FATAL_ERROR "Building tests require static library, or run CMake with -DBUILD_TESTING=OFF") return() endif() # We need this to build the test program include_directories(${PROJECT_SOURCE_DIR}/src) if(NATS_BUILD_WITH_TLS) include_directories(${OPENSSL_INCLUDE_DIR}) endif(NATS_BUILD_WITH_TLS) if(NATS_BUILD_STREAMING) include_directories(${NATS_PROTOBUF_INCLUDE_DIRS}) include_directories(${PROJECT_SOURCE_DIR}/src/stan) endif(NATS_BUILD_STREAMING) # Build the test program add_executable(testsuite test.c) # Link statically with the library target_link_libraries(testsuite nats_static ${NATS_EXTRA_LIB}) # Set the test index to 0 set(testIndex 0) # Read the file 'list.txt' to get all the test names file(STRINGS list.txt listOfTestNames) # For each test name foreach(name ${listOfTestNames}) # Create a test and pass the index (start and end are the same) # to the testsuite executable add_test(NAME Test_${name} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} COMMAND testsuite ${testIndex} ${testIndex}) # Make sure the test passes set_tests_properties(Test_${name} PROPERTIES PASS_REGULAR_EXPRESSION "ALL PASSED") # Bump the test index number math(EXPR testIndex "${testIndex}+1") endforeach()