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

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

Issue 14139012: PPAPI: More test cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Provide a message loop for "background thread" test so we can use a REQUIRED callback Created 7 years, 8 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_graphics_3d.cc ('k') | ppapi/tests/test_host_resolver_private_disallowed.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_private.h" 5 #include "ppapi/tests/test_host_resolver_private.h"
6 6
7 #include "ppapi/c/private/ppb_net_address_private.h" 7 #include "ppapi/c/private/ppb_net_address_private.h"
8 #include "ppapi/cpp/module_impl.h" 8 #include "ppapi/cpp/module_impl.h"
9 #include "ppapi/cpp/private/host_resolver_private.h" 9 #include "ppapi/cpp/private/host_resolver_private.h"
10 #include "ppapi/cpp/private/tcp_socket_private.h" 10 #include "ppapi/cpp/private/tcp_socket_private.h"
(...skipping 24 matching lines...) Expand all
35 35
36 return host_resolver_private_is_available && 36 return host_resolver_private_is_available &&
37 tcp_socket_private_is_available && 37 tcp_socket_private_is_available &&
38 init_host_port && 38 init_host_port &&
39 CheckTestingInterface() && 39 CheckTestingInterface() &&
40 EnsureRunningOverHTTP(); 40 EnsureRunningOverHTTP();
41 } 41 }
42 42
43 void TestHostResolverPrivate::RunTests(const std::string& filter) { 43 void TestHostResolverPrivate::RunTests(const std::string& filter) {
44 RUN_TEST(Empty, filter); 44 RUN_TEST(Empty, filter);
45 RUN_TEST_FORCEASYNC_AND_NOT(Resolve, filter); 45 RUN_CALLBACK_TEST(TestHostResolverPrivate, Resolve, filter);
46 RUN_TEST_FORCEASYNC_AND_NOT(ResolveIPv4, filter); 46 RUN_CALLBACK_TEST(TestHostResolverPrivate, ResolveIPv4, filter);
47 } 47 }
48 48
49 std::string TestHostResolverPrivate::SyncConnect(pp::TCPSocketPrivate* socket, 49 std::string TestHostResolverPrivate::SyncConnect(pp::TCPSocketPrivate* socket,
50 const std::string& host, 50 const std::string& host,
51 uint16_t port) { 51 uint16_t port) {
52 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 52 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
53 int32_t rv = socket->Connect(host.c_str(), port, callback.GetCallback()); 53 callback.WaitForResult(
54 if (force_async_ && rv != PP_OK_COMPLETIONPENDING) 54 socket->Connect(host.c_str(), port, callback.GetCallback()));
55 return ReportError("PPB_TCPSocket_Private::Connect force_async", rv); 55 CHECK_CALLBACK_BEHAVIOR(callback);
56 if (rv == PP_OK_COMPLETIONPENDING) 56 ASSERT_EQ(PP_OK, callback.result());
57 rv = callback.WaitForResult();
58 ASSERT_EQ(PP_OK, rv);
59 PASS(); 57 PASS();
60 } 58 }
61 59
62 std::string TestHostResolverPrivate::SyncConnect( 60 std::string TestHostResolverPrivate::SyncConnect(
63 pp::TCPSocketPrivate* socket, 61 pp::TCPSocketPrivate* socket,
64 const PP_NetAddress_Private& address) { 62 const PP_NetAddress_Private& address) {
65 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 63 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
66 int32_t rv = socket->ConnectWithNetAddress(&address, callback.GetCallback()); 64 callback.WaitForResult(
67 if (force_async_ && rv != PP_OK_COMPLETIONPENDING) 65 socket->ConnectWithNetAddress(&address, callback.GetCallback()));
68 return ReportError("PPB_TCPSocket_Private::Connect force_async", rv); 66 CHECK_CALLBACK_BEHAVIOR(callback);
69 if (rv == PP_OK_COMPLETIONPENDING) 67 ASSERT_EQ(PP_OK, callback.result());
70 rv = callback.WaitForResult();
71 ASSERT_EQ(PP_OK, rv);
72 PASS(); 68 PASS();
73 } 69 }
74 70
75 std::string TestHostResolverPrivate::SyncRead(pp::TCPSocketPrivate* socket, 71 std::string TestHostResolverPrivate::SyncRead(pp::TCPSocketPrivate* socket,
76 char* buffer, 72 char* buffer,
77 int32_t num_bytes, 73 int32_t num_bytes,
78 int32_t* bytes_read) { 74 int32_t* bytes_read) {
79 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 75 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
80 int32_t rv = socket->Read(buffer, num_bytes, callback.GetCallback()); 76 callback.WaitForResult(
81 if (force_async_ && rv != PP_OK_COMPLETIONPENDING) 77 socket->Read(buffer, num_bytes, callback.GetCallback()));
82 return ReportError("PPB_TCPSocket_Private::Read force_async", rv); 78 CHECK_CALLBACK_BEHAVIOR(callback);
83 if (rv == PP_OK_COMPLETIONPENDING) 79 ASSERT_EQ(num_bytes, callback.result());
84 rv = callback.WaitForResult(); 80 *bytes_read = callback.result();
85 if (num_bytes != rv)
86 return ReportError("PPB_TCPSocket_Private::Read", rv);
87 *bytes_read = rv;
88 PASS(); 81 PASS();
89 } 82 }
90 83
91 std::string TestHostResolverPrivate::SyncWrite(pp::TCPSocketPrivate* socket, 84 std::string TestHostResolverPrivate::SyncWrite(pp::TCPSocketPrivate* socket,
92 const char* buffer, 85 const char* buffer,
93 int32_t num_bytes, 86 int32_t num_bytes,
94 int32_t* bytes_written) { 87 int32_t* bytes_written) {
95 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 88 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
96 int32_t rv = socket->Write(buffer, num_bytes, callback.GetCallback()); 89 callback.WaitForResult(
97 if (force_async_ && rv != PP_OK_COMPLETIONPENDING) 90 socket->Write(buffer, num_bytes, callback.GetCallback()));
98 return ReportError("PPB_TCPSocket_Private::Write force_async", rv); 91 CHECK_CALLBACK_BEHAVIOR(callback);
99 if (rv == PP_OK_COMPLETIONPENDING) 92 ASSERT_EQ(num_bytes, callback.result());
100 rv = callback.WaitForResult(); 93 *bytes_written = callback.result();
101 if (num_bytes != rv)
102 return ReportError("PPB_TCPSocket_Private::Write", rv);
103 *bytes_written = rv;
104 PASS(); 94 PASS();
105 } 95 }
106 96
107 std::string TestHostResolverPrivate::CheckHTTPResponse( 97 std::string TestHostResolverPrivate::CheckHTTPResponse(
108 pp::TCPSocketPrivate* socket, 98 pp::TCPSocketPrivate* socket,
109 const std::string& request, 99 const std::string& request,
110 const std::string& response) { 100 const std::string& response) {
111 int32_t rv = 0; 101 int32_t rv = 0;
112 ASSERT_SUBTEST_SUCCESS( 102 ASSERT_SUBTEST_SUCCESS(
113 SyncWrite(socket, request.c_str(), request.size(), &rv)); 103 SyncWrite(socket, request.c_str(), request.size(), &rv));
114 std::vector<char> response_buffer(response.size()); 104 std::vector<char> response_buffer(response.size());
115 ASSERT_SUBTEST_SUCCESS( 105 ASSERT_SUBTEST_SUCCESS(
116 SyncRead(socket, &response_buffer[0], response.size(), &rv)); 106 SyncRead(socket, &response_buffer[0], response.size(), &rv));
117 std::string actual_response(&response_buffer[0], rv); 107 std::string actual_response(&response_buffer[0], rv);
118 if (response != actual_response) { 108 if (response != actual_response) {
119 return "CheckHTTPResponse failed, expected: " + response + 109 return "CheckHTTPResponse failed, expected: " + response +
120 ", actual: " + actual_response; 110 ", actual: " + actual_response;
121 } 111 }
122 PASS(); 112 PASS();
123 } 113 }
124 114
125 std::string TestHostResolverPrivate::SyncResolve( 115 std::string TestHostResolverPrivate::SyncResolve(
126 pp::HostResolverPrivate* host_resolver, 116 pp::HostResolverPrivate* host_resolver,
127 const std::string& host, 117 const std::string& host,
128 uint16_t port, 118 uint16_t port,
129 const PP_HostResolver_Private_Hint& hint) { 119 const PP_HostResolver_Private_Hint& hint) {
130 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 120 TestCompletionCallback callback(instance_->pp_instance(), callback_type());
131 int32_t rv = host_resolver->Resolve(host, port, hint, callback.GetCallback()); 121 callback.WaitForResult(
132 if (force_async_ && rv != PP_OK_COMPLETIONPENDING) 122 host_resolver->Resolve(host, port, hint, callback.GetCallback()));
133 return ReportError("PPB_HostResolver_Private::Resolve force_async", rv); 123 CHECK_CALLBACK_BEHAVIOR(callback);
134 if (rv == PP_OK_COMPLETIONPENDING)
135 rv = callback.WaitForResult();
136 if (rv != PP_OK)
137 return ReportError("PPB_HostResolver_Private::Resolve", rv);
138 PASS(); 124 PASS();
139 } 125 }
140 126
141 std::string TestHostResolverPrivate::TestEmpty() { 127 std::string TestHostResolverPrivate::TestEmpty() {
142 pp::HostResolverPrivate host_resolver(instance_); 128 pp::HostResolverPrivate host_resolver(instance_);
143 ASSERT_EQ(0, host_resolver.GetSize()); 129 ASSERT_EQ(0, host_resolver.GetSize());
144 PP_NetAddress_Private address; 130 PP_NetAddress_Private address;
145 ASSERT_FALSE(host_resolver.GetNetAddress(0, &address)); 131 ASSERT_FALSE(host_resolver.GetNetAddress(0, &address));
146 132
147 PASS(); 133 PASS();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 hint.flags = PP_HOST_RESOLVER_FLAGS_CANONNAME; 175 hint.flags = PP_HOST_RESOLVER_FLAGS_CANONNAME;
190 return ParametrizedTestResolve(hint); 176 return ParametrizedTestResolve(hint);
191 } 177 }
192 178
193 std::string TestHostResolverPrivate::TestResolveIPv4() { 179 std::string TestHostResolverPrivate::TestResolveIPv4() {
194 PP_HostResolver_Private_Hint hint; 180 PP_HostResolver_Private_Hint hint;
195 hint.family = PP_NETADDRESSFAMILY_IPV4; 181 hint.family = PP_NETADDRESSFAMILY_IPV4;
196 hint.flags = PP_HOST_RESOLVER_FLAGS_CANONNAME; 182 hint.flags = PP_HOST_RESOLVER_FLAGS_CANONNAME;
197 return ParametrizedTestResolve(hint); 183 return ParametrizedTestResolve(hint);
198 } 184 }
OLDNEW
« no previous file with comments | « ppapi/tests/test_graphics_3d.cc ('k') | ppapi/tests/test_host_resolver_private_disallowed.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698