Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdc5cf50

Browse files
committed
Merge pull request#580 from deanberris/convert-to-gtest
Convert all tests to use googletest
2 parentsfedcc09 +550adae commitdc5cf50

File tree

30 files changed

+940
-1302
lines changed

30 files changed

+940
-1302
lines changed

‎CMakeLists.txt‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
# Copyright (c) Dean Michael Berris 2010.
1+
# Copyright (c) Dean Michael Berris 2010.
2+
# Copyright 2016 Google, Inc.
23
# Distributed under the Boost Software License, Version 1.0.
3-
#(See accompanying file LICENSE_1_0.txt or copy at
4-
#http://www.boost.org/LICENSE_1_0.txt)
4+
# (See accompanying file LICENSE_1_0.txt or copy at
5+
# http://www.boost.org/LICENSE_1_0.txt)
56

67
cmake_minimum_required(VERSION 2.8)
78
project(CPP-NETLIB)
@@ -45,9 +46,9 @@ add_definitions(-DBOOST_TEST_DYN_LINK)
4546
# Always use multi-threaded Boost libraries.
4647
set(Boost_USE_MULTI_THREADEDON)
4748

48-
find_package(Boost 1.57.0
49-
REQUIREDunit_test_frameworksystemregex date_time thread filesystem
50-
program_options chronoatomic)
49+
find_package(Boost 1.57.0
50+
REQUIREDsystemregex date_time thread filesystem program_options chrono
51+
atomic)
5152

5253
if (CPP-NETLIB_ENABLE_HTTPS)
5354
find_package( OpenSSL )

‎libs/network/test/CMakeLists.txt‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,7 @@ add_subdirectory(uri)
1010
add_subdirectory(http)
1111

1212
if (Boost_FOUND)
13-
set(
14-
TESTS
15-
message_test
16-
message_transform_test
17-
utils_thread_pool
13+
set(TESTS message_test message_transform_test utils_thread_pool
1814
# utils_base64_test -- turn on when ready.
1915
)
2016
foreach (test${TESTS})
@@ -23,7 +19,7 @@ if (Boost_FOUND)
2319
PROPERTIESCOMPILE_FLAGS"-Wall")
2420
endif()
2521
add_executable(cpp-netlib-${test}${test}.cpp)
26-
add_dependencies(cpp-netlib-${test} cppnetlib-uri)
22+
add_dependencies(cpp-netlib-${test} cppnetlib-uri gtest_main)
2723
target_link_libraries(cpp-netlib-${test}
2824
${Boost_THREAD_LIBRARY}${Boost_SYSTEM_LIBRARY}
2925
${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri gtest_main)
@@ -44,6 +40,5 @@ if (Boost_FOUND)
4440

4541
# Also copy the server directory to the root of the build directory.
4642
file(COPY serverDESTINATION ${CPP-NETLIB_BINARY_DIR}/libs/network/test/)
47-
4843
endif()
4944

‎libs/network/test/http/CMakeLists.txt‎

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -12,82 +12,93 @@ if (OPENSSL_FOUND)
1212
endif()
1313

1414
if (Boost_FOUND)
15-
set ( TESTS
16-
response_incremental_parser_test
17-
request_incremental_parser_test
18-
request_linearize_test
19-
)
15+
set(TESTS response_incremental_parser_test request_incremental_parser_test
16+
request_linearize_test)
2017
foreach (test${TESTS} )
2118
add_executable(cpp-netlib-http-${test}${test}.cpp)
22-
add_dependencies(cpp-netlib-http-${test}
19+
add_dependencies(cpp-netlib-http-${test} gtest_main
2320
cppnetlib-uri)
2421
target_link_libraries(cpp-netlib-http-${test}
25-
${Boost_LIBRARIES}${CMAKE_THREAD_LIBS_INIT}
22+
${Boost_LIBRARIES}${CMAKE_THREAD_LIBS_INIT} gtest_main
2623
cppnetlib-uri)
27-
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
24+
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
2825
target_link_libraries(cpp-netlib-http-${test} ws2_32)
2926
endif()
30-
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
31-
target_link_libraries(cpp-netlib-http-${test} rt)
32-
endif()
27+
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
28+
target_link_libraries(cpp-netlib-http-${test} rt)
29+
endif()
3330
set_target_properties(cpp-netlib-http-${test}
3431
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3532
add_test(cpp-netlib-http-${test}
3633
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
3734
endforeach (test)
38-
set ( TESTS
39-
client_constructor_test
40-
client_get_test
41-
client_get_different_port_test
42-
client_get_timeout_test
43-
client_get_streaming_test
44-
)
35+
set(TESTS client_constructor_test client_get_test
36+
client_get_different_port_test client_get_timeout_test
37+
client_get_streaming_test)
4538
foreach (test${TESTS} )
4639
add_executable(cpp-netlib-http-${test}${test}.cpp)
47-
add_dependencies(cpp-netlib-http-${test}
48-
cppnetlib-uri
49-
cppnetlib-client-connections)
50-
target_link_libraries(cpp-netlib-http-${test}
51-
${Boost_LIBRARIES}${CMAKE_THREAD_LIBS_INIT}
52-
cppnetlib-uri
53-
cppnetlib-client-connections)
40+
add_dependencies(cpp-netlib-http-${test} cppnetlib-uri
41+
cppnetlib-client-connections gtest_main)
42+
target_link_libraries(cpp-netlib-http-${test}${Boost_LIBRARIES}
43+
${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri gtest_main cppnetlib-client-connections)
5444
if (OPENSSL_FOUND)
5545
target_link_libraries(cpp-netlib-http-${test}${OPENSSL_LIBRARIES})
5646
endif()
57-
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
47+
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
5848
target_link_libraries(cpp-netlib-http-${test} ws2_32)
5949
endif()
60-
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
61-
target_link_libraries(cpp-netlib-http-${test} rt)
62-
endif()
50+
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
51+
target_link_libraries(cpp-netlib-http-${test} rt)
52+
endif()
6353
set_target_properties(cpp-netlib-http-${test}
6454
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
6555
add_test(cpp-netlib-http-${test}
6656
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
6757
endforeach (test)
6858

69-
set ( SERVER_API_TESTS
70-
server_constructor_test
71-
server_async_run_stop_concurrency
72-
server_header_parser_test
73-
)
74-
foreach (test${SERVER_API_TESTS} )
59+
set(SERVER_API_TESTS server_constructor_test
60+
server_header_parser_test)
61+
foreach (test${SERVER_API_TESTS})
7562
add_executable(cpp-netlib-http-${test}${test}.cpp)
7663
add_dependencies(cpp-netlib-http-${test} cppnetlib-server-parsers)
77-
target_link_libraries(cpp-netlib-http-${test}${Boost_LIBRARIES}${CMAKE_THREAD_LIBS_INIT} cppnetlib-server-parsers)
64+
target_link_libraries(cpp-netlib-http-${test}${Boost_LIBRARIES}
65+
${CMAKE_THREAD_LIBS_INIT} cppnetlib-server-parsers gtest_main)
7866
if (OPENSSL_FOUND)
7967
target_link_libraries(cpp-netlib-http-${test}${OPENSSL_LIBRARIES})
8068
endif()
81-
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
69+
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNUAND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
8270
target_link_libraries(cpp-netlib-http-${test} ws2_32 wsock32)
8371
endif()
84-
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
85-
target_link_libraries(cpp-netlib-http-${test} rt)
86-
endif()
72+
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
73+
target_link_libraries(cpp-netlib-http-${test} rt)
74+
endif()
8775
set_target_properties(cpp-netlib-http-${test}
8876
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
8977
add_test(cpp-netlib-http-${test}
9078
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
9179
endforeach (test)
9280

81+
# Add the server start/stop concurrency test
82+
add_executable(cpp-netlib-http-server_async_run_stop_concurrency
83+
server_async_run_stop_concurrency.cpp)
84+
add_dependencies(cpp-netlib-http-server_async_run_stop_concurrency
85+
cppnetlib-server-parsers)
86+
target_link_libraries(cpp-netlib-http-server_async_run_stop_concurrency
87+
${Boost_LIBRARIES} cppnetlib-server-parsers)
88+
if (OPENSSL_FOUND)
89+
target_link_libraries(cpp-netlib-http-server_async_run_stop_concurrency
90+
${OPENSSL_LIBRARIES})
91+
endif()
92+
if (${CMAKE_CXX_COMPILER_ID}MATCHES GNU
93+
AND${CMAKE_SYSTEM_NAME}MATCHES"Windows")
94+
target_link_libraries(cpp-netlib-http-server_async_run_stop_concurrency
95+
ws2_32 wsock32)
96+
endif()
97+
if (${CMAKE_SYSTEM_NAME}MATCHES"Linux")
98+
target_link_libraries(cpp-netlib-http-server_async_run_stop_concurrency rt)
99+
endif()
100+
set_target_properties(cpp-netlib-http-server_async_run_stop_concurrency
101+
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
102+
add_test(cpp-netlib-http-server_async_run_stop_concurrency
103+
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-server_async_run_stop_concurrency)
93104
endif()

‎libs/network/test/http/client_constructor_test.cpp‎

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
11

22
// Copyright 2010 Dean Michael Berris.
3+
// Copyright 2015 Google, Inc.
34
// Distributed under the Boost Software License, Version 1.0.
45
// (See accompanying file LICENSE_1_0.txt or copy at
56
// http://www.boost.org/LICENSE_1_0.txt)
67

7-
#defineBOOST_TEST_MODULE HTTP1.0 Client Constructor Test
8+
// Migrated from using Boost.Test to using googletest intead.
9+
#include<gtest/gtest.h>
10+
811
#include<boost/network/include/http/client.hpp>
9-
#include<boost/test/unit_test.hpp>
1012
#include"client_types.hpp"
1113

1214
namespacehttp= boost::network::http;
1315

14-
BOOST_AUTO_TEST_CASE_TEMPLATE(http_client_constructor_test, client,
15-
client_types) {
16-
typename client::options options;
17-
client instance;
18-
clientinstance2(
16+
TYPED_TEST_CASE(HTTPClientTest, ClientTypes);
17+
18+
TYPED_TEST(HTTPClientTest, Constructors) {
19+
typename TypeParam::options options;
20+
TypeParam instance;
21+
TypeParaminstance2(
1922
options.io_service(boost::make_shared<boost::asio::io_service>()));
2023
}
2124

22-
BOOST_AUTO_TEST_CASE_TEMPLATE(http_cient_constructor_params_test, client,
23-
client_types) {
24-
typename client::options options;
25-
clientinstance(options.follow_redirects(true).cache_resolved(true));
26-
clientinstance2(
25+
TYPED_TEST(HTTPClientTest, ConstructorsWithOptions) {
26+
typename TypeParam::options options;
27+
TypeParaminstance(options.follow_redirects(true).cache_resolved(true));
28+
TypeParaminstance2(
2729
options.openssl_certificate("foo").openssl_verify_path("bar"));
28-
clientinstance3(
30+
TypeParaminstance3(
2931
options.openssl_certificate_file("foo").openssl_private_key_file("bar"));
30-
clientinstance4(
32+
TypeParaminstance4(
3133
options.follow_redirects(true)
3234
.io_service(boost::make_shared<boost::asio::io_service>())
3335
.cache_resolved(true));
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11

22
// Copyright 2010 Dean Michael Berris.
3+
// Copyright 2016 Google, Inc.
34
// Distributed under the Boost Software License, Version 1.0.
45
// (See accompanying file LICENSE_1_0.txt or copy at
56
// http://www.boost.org/LICENSE_1_0.txt)
67

7-
#defineBOOST_TEST_MODULE HTTP Client Get Different Port Test
8+
#include<gtest/gtest.h>
89
#include<boost/network/include/http/client.hpp>
9-
#include<boost/test/unit_test.hpp>
1010
#include"client_types.hpp"
1111

1212
namespacenet= boost::network;
1313
namespacehttp= boost::network::http;
1414

15-
BOOST_AUTO_TEST_CASE_TEMPLATE(http_get_test_different_port, client,
16-
client_types) {
17-
typename client::requestrequest("http://www.boost.org:80/");
18-
client client_;
19-
typename client::response response_ = client_.get(request);
15+
TYPED_TEST_CASE(HTTPClientTest, ClientTypes);
16+
17+
TYPED_TEST(HTTPClientTest, GetDifferentPort) {
18+
TypeParam client;
19+
typename TypeParam::requestr("http://www.boost.org:80/");
20+
auto response_ = client.get(r);
2021
auto range =headers(response_)["Content-Type"];
21-
BOOST_CHECK(boost::begin(range) !=boost::end(range));
22-
BOOST_CHECK(body(response_).size() !=0);
22+
EXPECT_TRUE(boost::begin(range) !=boost::end(range));
23+
EXPECT_NE(0,body(response_).size());
2324
}
Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,46 @@
11
// Copyright 2011 Dean Michael Berris &lt;mikhailberis@gmail.com&gt;.
2+
// Copyright 2016 Google, Inc.
23
// Distributed under the Boost Software License, Version 1.0.
34
// (See accompanying file LICENSE_1_0.txt or copy at
45
// http://www.boost.org/LICENSE_1_0.txt)
56

6-
#defineBOOST_TEST_MODULE HTTP1.1 Get Streaming Test
7+
#include<gtest/gtest.h>
78
#include<boost/network/include/http/client.hpp>
8-
#include<boost/test/unit_test.hpp>
99
#include<iostream>
1010
#include"client_types.hpp"
1111

1212
namespacenet= boost::network;
1313
namespacehttp= boost::network::http;
1414

1515
structbody_handler {
16-
1716
explicitbody_handler(std::string& body) : body(body) {}
1817

1918
BOOST_NETWORK_HTTP_BODY_CALLBACK(operator(), range, error) {
19+
(void)error;
2020
body.append(boost::begin(range),boost::end(range));
2121
}
2222

2323
std::string& body;
2424
};
2525

26-
BOOST_AUTO_TEST_CASE_TEMPLATE(http_client_get_streaming_test, client,
27-
async_only_client_types) {
28-
typename client::requestrequest("http://www.boost.org");
29-
typename client::response response;
30-
typename client::string_type body_string;
31-
typename client::string_type dummy_body;
26+
TYPED_TEST_CASE(HTTPClientTest, ClientTypes);
27+
28+
TYPED_TEST(HTTPClientTest, GetStreamingTest) {
29+
typename TypeParam::requestrequest("http://www.boost.org");
30+
typename TypeParam::response response;
31+
typename TypeParam::string_type body_string;
32+
typename TypeParam::string_type dummy_body;
3233
body_handlerhandler_instance(body_string);
3334
{
34-
client client_;
35-
BOOST_CHECK_NO_THROW(response = client_.get(request, handler_instance));
35+
TypeParam client_;
36+
ASSERT_NO_THROW(response = client_.get(request, handler_instance));
3637
auto range =headers(response)["Content-Type"];
37-
BOOST_CHECK(!boost::empty(range));
38-
BOOST_CHECK_EQUAL(body(response).size(),0u);
39-
BOOST_CHECK_EQUAL(response.version().substr(0,7),std::string("HTTP/1."));
40-
BOOST_CHECK_EQUAL(response.status(),200u);
41-
BOOST_CHECK_EQUAL(response.status_message(),std::string("OK"));
38+
ASSERT_TRUE(!boost::empty(range));
39+
EXPECT_EQ(0u,body(response).size());
40+
EXPECT_EQ("HTTP/1.",response.version().substr(0,7));
41+
EXPECT_EQ(200u,response.status());
42+
EXPECT_EQ("OK",response.status_message());
4243
dummy_body =body(response);
4344
}
44-
BOOST_CHECK(dummy_body ==typenameclient::string_type());
45+
EXPECT_EQ(dummy_body,typenameTypeParam::string_type());
4546
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp