Skip to content

Commit 113e9fb

Browse files
committed
HTTP Client Test Consolidation, Remove Boost.Test
This is the simplification of the HTTP client test suite which serves as a guide for getting other tests migrated to use gtest. Moving forward the idea is to accomplish the same for all of the tests in cpp-netlib: * Consolidate logically grouped tests into a single binary. * Remove all traces of dependency to the Boost.Test framework. * Get all tests to a "green" state again. This paves the way for implementing mocks for some internal classes that we want to be able to change. In the meantime simplifying the test suite buys us more in the long run as we add more and more tests to the library.
1 parent b9138f5 commit 113e9fb

12 files changed

+186
-966
lines changed

CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ else()
2323
set(Boost_USE_STATIC_LIBS ON)
2424
endif()
2525
set(Boost_USE_MULTITHREADED ON)
26-
if(CPP-NETLIB_BUILD_TESTS)
27-
set(Boost_COMPONENTS unit_test_framework system regex date_time filesystem program_options )
28-
else()
29-
set(Boost_COMPONENTS system regex date_time filesystem program_options )
30-
endif()
26+
set(Boost_COMPONENTS system regex date_time filesystem program_options )
3127
find_package( Boost 1.51 REQUIRED ${Boost_COMPONENTS} )
3228
find_package( OpenSSL )
3329
find_package( Threads )

http/src/network/protocol/http/request/request_base.ipp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#define NETWORK_RPTOCOL_HTTP_REQUEST_BASE_IPP_20111102
99

1010
#include <network/protocol/http/request/request_base.hpp>
11+
#include <vector>
1112
#include <thread>
1213
#include <cstring>
1314

http/test/CMakeLists.txt

Lines changed: 59 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ include_directories(
88
${CPP-NETLIB_SOURCE_DIR}/message/src
99
${CPP-NETLIB_SOURCE_DIR}/logging/src
1010
${CPP-NETLIB_SOURCE_DIR}/http/src
11+
${GTEST_INCLUDE_DIRS}
1112
${CPP-NETLIB_SOURCE_DIR})
1213

1314
if (OPENSSL_FOUND)
1415
include_directories( ${OPENSSL_INCLUDE_DIR} )
15-
add_definitions(-DBOOST_NETWORK_ENABLE_HTTPS)
16+
add_definitions(-DNETWORK_ENABLE_HTTPS)
1617
endif()
1718

1819
if( NOT CPP-NETLIB_DISABLE_LOGGING )
@@ -47,6 +48,7 @@ if (Boost_FOUND)
4748
)
4849
target_link_libraries(cpp-netlib-http-${test}
4950
${Boost_LIBRARIES}
51+
${GTEST_BOTH_LIBRARIES}
5052
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
5153
${CMAKE_THREAD_LIBS_INIT}
5254
cppnetlib-message
@@ -62,69 +64,62 @@ if (Boost_FOUND)
6264
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
6365
endforeach(test)
6466

65-
set ( TESTS
66-
client_constructor_test
67-
client_get_test
68-
client_get_different_port_test
69-
client_get_timeout_test
70-
client_get_streaming_test
71-
)
72-
foreach ( test ${TESTS} )
73-
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
74-
set_source_files_properties(${test}.cpp
75-
PROPERTIES COMPILE_FLAGS "-Wall")
76-
endif()
77-
add_executable(cpp-netlib-http-${test} ${test}.cpp)
78-
target_link_libraries(cpp-netlib-http-${test}
79-
${Boost_LIBRARIES}
80-
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
81-
${CMAKE_THREAD_LIBS_INIT}
82-
cppnetlib-constants
83-
cppnetlib-uri
84-
cppnetlib-message
85-
cppnetlib-message-wrappers
86-
cppnetlib-message-directives
87-
${CPP-NETLIB_LOGGING_LIB}
88-
cppnetlib-http-message
89-
cppnetlib-http-message-wrappers
90-
cppnetlib-http-client
91-
cppnetlib-http-client-connections)
92-
if (OPENSSL_FOUND)
93-
target_link_libraries(cpp-netlib-http-${test} ${OPENSSL_LIBRARIES})
94-
endif()
95-
set_target_properties(cpp-netlib-http-${test}
96-
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
97-
add_test(cpp-netlib-http-${test}
98-
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
99-
endforeach (test)
67+
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
68+
set_source_files_properties(client_test.cpp
69+
PROPERTIES COMPILE_FLAGS "-Wall")
70+
endif()
71+
add_executable(cpp-netlib-http-client_test client_test.cpp)
72+
target_link_libraries(cpp-netlib-http-client_test
73+
${Boost_LIBRARIES}
74+
${GTEST_BOTH_LIBRARIES}
75+
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
76+
${CMAKE_THREAD_LIBS_INIT}
77+
cppnetlib-constants
78+
cppnetlib-uri
79+
cppnetlib-message
80+
cppnetlib-message-wrappers
81+
cppnetlib-message-directives
82+
${CPP-NETLIB_LOGGING_LIB}
83+
cppnetlib-http-message
84+
cppnetlib-http-message-wrappers
85+
cppnetlib-http-client
86+
cppnetlib-http-client-connections)
87+
if (OPENSSL_FOUND)
88+
target_link_libraries(cpp-netlib-http-client_test ${OPENSSL_LIBRARIES})
89+
endif()
90+
set_target_properties(cpp-netlib-http-client_test
91+
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
92+
add_test(cpp-netlib-http-client_test
93+
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
10094

101-
#set ( SERVER_API_TESTS
102-
# server_constructor_test
103-
# server_async_run_stop_concurrency
104-
# )
105-
#foreach ( test ${SERVER_API_TESTS} )
106-
# if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
107-
# set_source_files_properties(${test}.cpp
108-
# PROPERTIES COMPILE_FLAGS "-Wall")
109-
# endif()
110-
# add_executable(cpp-netlib-http-${test} ${test}.cpp)
111-
# target_link_libraries(cpp-netlib-http-${test}
112-
# ${Boost_LIBRARIES}
113-
# ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
114-
# ${CMAKE_THREAD_LIBS_INIT}
115-
# cppnetlib-constants
116-
# cppnetlib-uri
117-
# cppnetlib-message
118-
# cppnetlib-message-wrappers
119-
# cppnetlib-http-message
120-
# cppnetlib-http-server
121-
# cppnetlib-http-server-parsers
122-
# cppnetlib-utils-thread_pool
123-
# )
124-
# set_target_properties(cpp-netlib-http-${test}
125-
# PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
126-
# add_test(cpp-netlib-http-${test}
127-
# ${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
128-
#endforeach (test)
95+
# set ( SERVER_API_TESTS
96+
# server_constructor_test
97+
# server_async_run_stop_concurrency
98+
# )
99+
# foreach ( test ${SERVER_API_TESTS} )
100+
# if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
101+
# set_source_files_properties(${test}.cpp
102+
# PROPERTIES COMPILE_FLAGS "-Wall")
103+
# endif()
104+
# add_executable(cpp-netlib-http-${test} ${test}.cpp)
105+
# target_link_libraries(cpp-netlib-http-${test}
106+
# ${Boost_LIBRARIES}
107+
# ${GTEST_BOTH_LIBRARIES}
108+
# ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
109+
# ${CMAKE_THREAD_LIBS_INIT}
110+
# cppnetlib-constants
111+
# cppnetlib-uri
112+
# cppnetlib-message
113+
# cppnetlib-message-wrappers
114+
# cppnetlib-http-message
115+
# cppnetlib-http-server
116+
# cppnetlib-http-server-parsers
117+
# cppnetlib-utils-thread_pool
118+
# )
119+
# set_target_properties(cpp-netlib-http-${test}
120+
# PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
121+
# add_test(cpp-netlib-http-${test}
122+
# ${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
123+
# endforeach (test)
129124

130125
endif()

http/test/client_constructor_test.cpp

Lines changed: 0 additions & 32 deletions
This file was deleted.

http/test/client_get_different_port_test.cpp

Lines changed: 0 additions & 26 deletions
This file was deleted.

http/test/client_get_streaming_test.cpp

Lines changed: 0 additions & 56 deletions
This file was deleted.

http/test/client_get_test.cpp

Lines changed: 0 additions & 57 deletions
This file was deleted.

http/test/client_get_timeout_test.cpp

Lines changed: 0 additions & 26 deletions
This file was deleted.

http/test/client_include_inlined.cpp

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)