Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: ppapi/tests/test_host_resolver.cc

Issue 17314012: Move PPB_TCPSocket out of dev. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/tests/test_host_resolver.h ('k') | ppapi/tests/test_tcp_socket.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/tests/test_host_resolver.h" 5 #include "ppapi/tests/test_host_resolver.h"
6 6
7 #include "ppapi/cpp/dev/host_resolver_dev.h" 7 #include "ppapi/cpp/dev/host_resolver_dev.h"
8 #include "ppapi/cpp/dev/tcp_socket_dev.h"
9 #include "ppapi/cpp/net_address.h" 8 #include "ppapi/cpp/net_address.h"
9 #include "ppapi/cpp/tcp_socket.h"
10 #include "ppapi/cpp/var.h" 10 #include "ppapi/cpp/var.h"
11 #include "ppapi/tests/test_utils.h" 11 #include "ppapi/tests/test_utils.h"
12 #include "ppapi/tests/testing_instance.h" 12 #include "ppapi/tests/testing_instance.h"
13 13
14 REGISTER_TEST_CASE(HostResolver); 14 REGISTER_TEST_CASE(HostResolver);
15 15
16 TestHostResolver::TestHostResolver(TestingInstance* instance) 16 TestHostResolver::TestHostResolver(TestingInstance* instance)
17 : TestCase(instance) { 17 : TestCase(instance) {
18 } 18 }
19 19
20 bool TestHostResolver::Init() { 20 bool TestHostResolver::Init() {
21 bool host_resolver_is_available = pp::HostResolver_Dev::IsAvailable(); 21 bool host_resolver_is_available = pp::HostResolver_Dev::IsAvailable();
22 if (!host_resolver_is_available) 22 if (!host_resolver_is_available)
23 instance_->AppendError("PPB_HostResolver interface not available"); 23 instance_->AppendError("PPB_HostResolver interface not available");
24 24
25 bool tcp_socket_is_available = pp::TCPSocket_Dev::IsAvailable(); 25 bool tcp_socket_is_available = pp::TCPSocket::IsAvailable();
26 if (!tcp_socket_is_available) 26 if (!tcp_socket_is_available)
27 instance_->AppendError("PPB_TCPSocket interface not available"); 27 instance_->AppendError("PPB_TCPSocket interface not available");
28 28
29 bool init_host_port = 29 bool init_host_port =
30 GetLocalHostPort(instance_->pp_instance(), &host_, &port_); 30 GetLocalHostPort(instance_->pp_instance(), &host_, &port_);
31 if (!init_host_port) 31 if (!init_host_port)
32 instance_->AppendError("Can't init host and port"); 32 instance_->AppendError("Can't init host and port");
33 33
34 return host_resolver_is_available && 34 return host_resolver_is_available &&
35 tcp_socket_is_available && 35 tcp_socket_is_available &&
36 init_host_port && 36 init_host_port &&
37 CheckTestingInterface() && 37 CheckTestingInterface() &&
38 EnsureRunningOverHTTP(); 38 EnsureRunningOverHTTP();
39 } 39 }
40 40
41 void TestHostResolver::RunTests(const std::string& filter) { 41 void TestHostResolver::RunTests(const std::string& filter) {
42 RUN_TEST(Empty, filter); 42 RUN_TEST(Empty, filter);
43 RUN_CALLBACK_TEST(TestHostResolver, Resolve, filter); 43 RUN_CALLBACK_TEST(TestHostResolver, Resolve, filter);
44 RUN_CALLBACK_TEST(TestHostResolver, ResolveIPv4, filter); 44 RUN_CALLBACK_TEST(TestHostResolver, ResolveIPv4, filter);
45 } 45 }
46 46
47 std::string TestHostResolver::SyncConnect( 47 std::string TestHostResolver::SyncConnect(
48 pp::TCPSocket_Dev* socket, 48 pp::TCPSocket* socket,
49 const pp::NetAddress& address) { 49 const pp::NetAddress& address) {
50 TestCompletionCallback callback(instance_->pp_instance(), callback_type()); 50 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
51 callback.WaitForResult(socket->Connect(address, callback.GetCallback())); 51 callback.WaitForResult(socket->Connect(address, callback.GetCallback()));
52 CHECK_CALLBACK_BEHAVIOR(callback); 52 CHECK_CALLBACK_BEHAVIOR(callback);
53 ASSERT_EQ(PP_OK, callback.result()); 53 ASSERT_EQ(PP_OK, callback.result());
54 PASS(); 54 PASS();
55 } 55 }
56 56
57 std::string TestHostResolver::SyncRead(pp::TCPSocket_Dev* socket, 57 std::string TestHostResolver::SyncRead(pp::TCPSocket* socket,
58 char* buffer, 58 char* buffer,
59 int32_t num_bytes, 59 int32_t num_bytes,
60 int32_t* bytes_read) { 60 int32_t* bytes_read) {
61 TestCompletionCallback callback(instance_->pp_instance(), callback_type()); 61 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
62 callback.WaitForResult( 62 callback.WaitForResult(
63 socket->Read(buffer, num_bytes, callback.GetCallback())); 63 socket->Read(buffer, num_bytes, callback.GetCallback()));
64 CHECK_CALLBACK_BEHAVIOR(callback); 64 CHECK_CALLBACK_BEHAVIOR(callback);
65 ASSERT_EQ(num_bytes, callback.result()); 65 ASSERT_EQ(num_bytes, callback.result());
66 *bytes_read = callback.result(); 66 *bytes_read = callback.result();
67 PASS(); 67 PASS();
68 } 68 }
69 69
70 std::string TestHostResolver::SyncWrite(pp::TCPSocket_Dev* socket, 70 std::string TestHostResolver::SyncWrite(pp::TCPSocket* socket,
71 const char* buffer, 71 const char* buffer,
72 int32_t num_bytes, 72 int32_t num_bytes,
73 int32_t* bytes_written) { 73 int32_t* bytes_written) {
74 TestCompletionCallback callback(instance_->pp_instance(), callback_type()); 74 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
75 callback.WaitForResult( 75 callback.WaitForResult(
76 socket->Write(buffer, num_bytes, callback.GetCallback())); 76 socket->Write(buffer, num_bytes, callback.GetCallback()));
77 CHECK_CALLBACK_BEHAVIOR(callback); 77 CHECK_CALLBACK_BEHAVIOR(callback);
78 ASSERT_EQ(num_bytes, callback.result()); 78 ASSERT_EQ(num_bytes, callback.result());
79 *bytes_written = callback.result(); 79 *bytes_written = callback.result();
80 PASS(); 80 PASS();
81 } 81 }
82 82
83 std::string TestHostResolver::CheckHTTPResponse(pp::TCPSocket_Dev* socket, 83 std::string TestHostResolver::CheckHTTPResponse(pp::TCPSocket* socket,
84 const std::string& request, 84 const std::string& request,
85 const std::string& response) { 85 const std::string& response) {
86 int32_t rv = 0; 86 int32_t rv = 0;
87 ASSERT_SUBTEST_SUCCESS( 87 ASSERT_SUBTEST_SUCCESS(
88 SyncWrite(socket, request.c_str(), request.size(), &rv)); 88 SyncWrite(socket, request.c_str(), request.size(), &rv));
89 std::vector<char> response_buffer(response.size()); 89 std::vector<char> response_buffer(response.size());
90 ASSERT_SUBTEST_SUCCESS( 90 ASSERT_SUBTEST_SUCCESS(
91 SyncRead(socket, &response_buffer[0], response.size(), &rv)); 91 SyncRead(socket, &response_buffer[0], response.size(), &rv));
92 std::string actual_response(&response_buffer[0], rv); 92 std::string actual_response(&response_buffer[0], rv);
93 if (response != actual_response) { 93 if (response != actual_response) {
(...skipping 23 matching lines...) Expand all
117 ASSERT_SUBTEST_SUCCESS(SyncResolve(&host_resolver, host_, port_, hint)); 117 ASSERT_SUBTEST_SUCCESS(SyncResolve(&host_resolver, host_, port_, hint));
118 118
119 size_t size = host_resolver.GetNetAddressCount(); 119 size_t size = host_resolver.GetNetAddressCount();
120 ASSERT_TRUE(size >= 1); 120 ASSERT_TRUE(size >= 1);
121 121
122 pp::NetAddress address; 122 pp::NetAddress address;
123 for (size_t i = 0; i < size; ++i) { 123 for (size_t i = 0; i < size; ++i) {
124 address = host_resolver.GetNetAddress(i); 124 address = host_resolver.GetNetAddress(i);
125 ASSERT_NE(0, address.pp_resource()); 125 ASSERT_NE(0, address.pp_resource());
126 126
127 pp::TCPSocket_Dev socket(instance_); 127 pp::TCPSocket socket(instance_);
128 ASSERT_SUBTEST_SUCCESS(SyncConnect(&socket, address)); 128 ASSERT_SUBTEST_SUCCESS(SyncConnect(&socket, address));
129 ASSERT_SUBTEST_SUCCESS(CheckHTTPResponse(&socket, 129 ASSERT_SUBTEST_SUCCESS(CheckHTTPResponse(&socket,
130 "GET / HTTP/1.0\r\n\r\n", 130 "GET / HTTP/1.0\r\n\r\n",
131 "HTTP")); 131 "HTTP"));
132 socket.Close(); 132 socket.Close();
133 } 133 }
134 134
135 address = host_resolver.GetNetAddress(size); 135 address = host_resolver.GetNetAddress(size);
136 ASSERT_EQ(0, address.pp_resource()); 136 ASSERT_EQ(0, address.pp_resource());
137 pp::Var canonical_name = host_resolver.GetCanonicalName(); 137 pp::Var canonical_name = host_resolver.GetCanonicalName();
(...skipping 22 matching lines...) Expand all
160 hint.flags = PP_HOSTRESOLVER_FLAGS_CANONNAME; 160 hint.flags = PP_HOSTRESOLVER_FLAGS_CANONNAME;
161 return ParameterizedTestResolve(hint); 161 return ParameterizedTestResolve(hint);
162 } 162 }
163 163
164 std::string TestHostResolver::TestResolveIPv4() { 164 std::string TestHostResolver::TestResolveIPv4() {
165 PP_HostResolver_Hint_Dev hint; 165 PP_HostResolver_Hint_Dev hint;
166 hint.family = PP_NETADDRESS_FAMILY_IPV4; 166 hint.family = PP_NETADDRESS_FAMILY_IPV4;
167 hint.flags = PP_HOSTRESOLVER_FLAGS_CANONNAME; 167 hint.flags = PP_HOSTRESOLVER_FLAGS_CANONNAME;
168 return ParameterizedTestResolve(hint); 168 return ParameterizedTestResolve(hint);
169 } 169 }
OLDNEW
« no previous file with comments | « ppapi/tests/test_host_resolver.h ('k') | ppapi/tests/test_tcp_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698