Author: brane
Date: Sun Jun 24 21:46:52 2018
New Revision: 1834270
URL: http://svn.apache.org/viewvc?rev=1834270&view=rev
Log:
Add the Serf test suite to the CMake build.
* CMakeLists.txt: Enable testing. And APR's CFLAGS and extra libs
to the build configuration.
* test/CMakeLists.txt: Build all test programs and add all of the
serf_response tests to the suite.
Modified:
serf/trunk/CMakeLists.txt
serf/trunk/test/CMakeLists.txt
Modified: serf/trunk/CMakeLists.txt
URL:
http://svn.apache.org/viewvc/serf/trunk/CMakeLists.txt?rev=1834270&r1=1834269&r2=1834270&view=diff
==============================================================================
--- serf/trunk/CMakeLists.txt (original)
+++ serf/trunk/CMakeLists.txt Sun Jun 24 21:46:52 2018
@@ -18,6 +18,7 @@
# ===================================================================
cmake_minimum_required(VERSION 3.0.2)
+enable_testing()
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build")
include(SerfVersion)
@@ -123,10 +124,14 @@ set(DEPENDENCY_LIBRARIES
${OPENSSL_LIBRARIES}
${ZLIB_LIBRARIES}
${APR_LIBRARIES}
+ ${APR_EXTRALIBS}
${APRUTIL_LIBRARIES}
+ ${APRUTIL_EXTRALIBS}
)
list(REMOVE_DUPLICATES DEPENDENCY_LIBRARIES)
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${APR_CFLAGS}")
+
include_directories(BEFORE SYSTEM ${DEPENDENCY_INCLUDES})
include_directories(${CMAKE_SOURCE_DIR})
add_library(SerfStatic STATIC ${SOURCES})
@@ -138,4 +143,5 @@ set_target_properties(SerfStatic SerfSha
VERSION ${SERF_VERSION}
SOVERSION ${SERF_SOVERSION})
+set(SERF_SOURCE_DIR ${CMAKE_SOURCE_DIR})
add_subdirectory(test)
Modified: serf/trunk/test/CMakeLists.txt
URL:
http://svn.apache.org/viewvc/serf/trunk/test/CMakeLists.txt?rev=1834270&r1=1834269&r2=1834270&view=diff
==============================================================================
--- serf/trunk/test/CMakeLists.txt (original)
+++ serf/trunk/test/CMakeLists.txt Sun Jun 24 21:46:52 2018
@@ -34,8 +34,35 @@ set(TEST_ALL_SOURCES
"MockHTTPinC/MockHTTP_server.c"
)
+set(SIMPLE_TEST_TARGETS
+ "serf_get"
+ "serf_response"
+ "serf_request"
+ "serf_spider"
+ "serf_httpd"
+ "serf_bwtp"
+)
+
add_definitions("-DMOCKHTTP_OPENSSL")
+
+foreach(TEST_TARGET ${SIMPLE_TEST_TARGETS})
+ add_executable(${TEST_TARGET} "${TEST_TARGET}.c")
+ add_dependencies(${TEST_TARGET} SerfStatic)
+ target_link_libraries(${TEST_TARGET} SerfStatic ${DEPENDENCY_LIBRARIES})
+endforeach()
+
add_executable(test_all ${TEST_ALL_SOURCES})
add_dependencies(test_all SerfStatic)
target_link_libraries(test_all SerfStatic ${DEPENDENCY_LIBRARIES})
+
+file(GLOB RESPONSE_TEST_CASES
"${CMAKE_CURRENT_SOURCE_DIR}/testcases/*.response")
+foreach(TEST_CASE ${RESPONSE_TEST_CASES})
+ get_filename_component(TEST_CASE_NAME ${TEST_CASE} NAME)
+ add_test(NAME "${TEST_CASE_NAME}" COMMAND serf_response "${TEST_CASE}")
+ list(APPEND RESPONS_TESTS "${TEST_CASE_NAME}")
+endforeach()
+
add_test(NAME test_all COMMAND test_all)
+
+set_tests_properties(${RESPONS_TESTS} test_all PROPERTIES
+ ENVIRONMENT srcdir=${SERF_SOURCE_DIR})