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

Side by Side Diff: net/base/host_resolver_impl_unittest.cc

Issue 551135: Cleanup the unittest helpers in load_log_unittest.h.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Sync and merge conflicts Created 10 years, 10 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 | « no previous file | net/base/load_log_unittest.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 (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "net/base/host_resolver_impl.h" 5 #include "net/base/host_resolver_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 187
188 scoped_refptr<HostResolver> host_resolver( 188 scoped_refptr<HostResolver> host_resolver(
189 new HostResolverImpl(resolver_proc, CreateDefaultCache(), NULL)); 189 new HostResolverImpl(resolver_proc, CreateDefaultCache(), NULL));
190 190
191 HostResolver::RequestInfo info("just.testing", kPortnum); 191 HostResolver::RequestInfo info("just.testing", kPortnum);
192 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); 192 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
193 int err = host_resolver->Resolve(info, &adrlist, NULL, NULL, log); 193 int err = host_resolver->Resolve(info, &adrlist, NULL, NULL, log);
194 EXPECT_EQ(OK, err); 194 EXPECT_EQ(OK, err);
195 195
196 EXPECT_EQ(2u, log->entries().size()); 196 EXPECT_EQ(2u, log->entries().size());
197 ExpectLogContains(log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL, 197 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL));
198 LoadLog::PHASE_BEGIN); 198 EXPECT_TRUE(LogContainsEndEvent(*log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL));
199 ExpectLogContains(log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL,
200 LoadLog::PHASE_END);
201 199
202 const struct addrinfo* ainfo = adrlist.head(); 200 const struct addrinfo* ainfo = adrlist.head();
203 EXPECT_EQ(static_cast<addrinfo*>(NULL), ainfo->ai_next); 201 EXPECT_EQ(static_cast<addrinfo*>(NULL), ainfo->ai_next);
204 EXPECT_EQ(sizeof(struct sockaddr_in), ainfo->ai_addrlen); 202 EXPECT_EQ(sizeof(struct sockaddr_in), ainfo->ai_addrlen);
205 203
206 const struct sockaddr* sa = ainfo->ai_addr; 204 const struct sockaddr* sa = ainfo->ai_addr;
207 const struct sockaddr_in* sa_in = (const struct sockaddr_in*) sa; 205 const struct sockaddr_in* sa_in = (const struct sockaddr_in*) sa;
208 EXPECT_TRUE(htons(kPortnum) == sa_in->sin_port); 206 EXPECT_TRUE(htons(kPortnum) == sa_in->sin_port);
209 EXPECT_TRUE(htonl(0xc0a8012a) == sa_in->sin_addr.s_addr); 207 EXPECT_TRUE(htonl(0xc0a8012a) == sa_in->sin_addr.s_addr);
210 } 208 }
211 209
212 TEST_F(HostResolverImplTest, AsynchronousLookup) { 210 TEST_F(HostResolverImplTest, AsynchronousLookup) {
213 AddressList adrlist; 211 AddressList adrlist;
214 const int kPortnum = 80; 212 const int kPortnum = 80;
215 213
216 scoped_refptr<RuleBasedHostResolverProc> resolver_proc = 214 scoped_refptr<RuleBasedHostResolverProc> resolver_proc =
217 new RuleBasedHostResolverProc(NULL); 215 new RuleBasedHostResolverProc(NULL);
218 resolver_proc->AddRule("just.testing", "192.168.1.42"); 216 resolver_proc->AddRule("just.testing", "192.168.1.42");
219 217
220 scoped_refptr<HostResolver> host_resolver( 218 scoped_refptr<HostResolver> host_resolver(
221 new HostResolverImpl(resolver_proc, CreateDefaultCache(), NULL)); 219 new HostResolverImpl(resolver_proc, CreateDefaultCache(), NULL));
222 220
223 HostResolver::RequestInfo info("just.testing", kPortnum); 221 HostResolver::RequestInfo info("just.testing", kPortnum);
224 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); 222 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
225 int err = host_resolver->Resolve(info, &adrlist, &callback_, NULL, log); 223 int err = host_resolver->Resolve(info, &adrlist, &callback_, NULL, log);
226 EXPECT_EQ(ERR_IO_PENDING, err); 224 EXPECT_EQ(ERR_IO_PENDING, err);
227 225
228 EXPECT_EQ(1u, log->entries().size()); 226 EXPECT_EQ(1u, log->entries().size());
229 ExpectLogContains(log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL, 227 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL));
230 LoadLog::PHASE_BEGIN);
231 228
232 MessageLoop::current()->Run(); 229 MessageLoop::current()->Run();
233 230
234 ASSERT_TRUE(callback_called_); 231 ASSERT_TRUE(callback_called_);
235 ASSERT_EQ(OK, callback_result_); 232 ASSERT_EQ(OK, callback_result_);
236 233
237 EXPECT_EQ(2u, log->entries().size()); 234 EXPECT_EQ(2u, log->entries().size());
238 ExpectLogContains(log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL, 235 EXPECT_TRUE(LogContainsEndEvent(*log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL));
239 LoadLog::PHASE_END);
240 236
241 const struct addrinfo* ainfo = adrlist.head(); 237 const struct addrinfo* ainfo = adrlist.head();
242 EXPECT_EQ(static_cast<addrinfo*>(NULL), ainfo->ai_next); 238 EXPECT_EQ(static_cast<addrinfo*>(NULL), ainfo->ai_next);
243 EXPECT_EQ(sizeof(struct sockaddr_in), ainfo->ai_addrlen); 239 EXPECT_EQ(sizeof(struct sockaddr_in), ainfo->ai_addrlen);
244 240
245 const struct sockaddr* sa = ainfo->ai_addr; 241 const struct sockaddr* sa = ainfo->ai_addr;
246 const struct sockaddr_in* sa_in = (const struct sockaddr_in*) sa; 242 const struct sockaddr_in* sa_in = (const struct sockaddr_in*) sa;
247 EXPECT_TRUE(htons(kPortnum) == sa_in->sin_port); 243 EXPECT_TRUE(htons(kPortnum) == sa_in->sin_port);
248 EXPECT_TRUE(htonl(0xc0a8012a) == sa_in->sin_addr.s_addr); 244 EXPECT_TRUE(htonl(0xc0a8012a) == sa_in->sin_addr.s_addr);
249 } 245 }
(...skipping 16 matching lines...) Expand all
266 // Make sure we will exit the queue even when callback is not called. 262 // Make sure we will exit the queue even when callback is not called.
267 MessageLoop::current()->PostDelayedTask(FROM_HERE, 263 MessageLoop::current()->PostDelayedTask(FROM_HERE,
268 new MessageLoop::QuitTask(), 264 new MessageLoop::QuitTask(),
269 1000); 265 1000);
270 MessageLoop::current()->Run(); 266 MessageLoop::current()->Run();
271 } 267 }
272 268
273 resolver_proc->Signal(); 269 resolver_proc->Signal();
274 270
275 EXPECT_EQ(3u, log->entries().size()); 271 EXPECT_EQ(3u, log->entries().size());
276 ExpectLogContains(log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL, 272 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL));
277 LoadLog::PHASE_BEGIN); 273 EXPECT_TRUE(LogContainsEvent(
278 ExpectLogContains(log, 1, LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); 274 *log, 1, LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE));
279 ExpectLogContains(log, 2, LoadLog::TYPE_HOST_RESOLVER_IMPL, 275 EXPECT_TRUE(LogContainsEndEvent(*log, 2, LoadLog::TYPE_HOST_RESOLVER_IMPL));
280 LoadLog::PHASE_END);
281 276
282 EXPECT_FALSE(callback_called_); 277 EXPECT_FALSE(callback_called_);
283 } 278 }
284 279
285 TEST_F(HostResolverImplTest, NumericIPv4Address) { 280 TEST_F(HostResolverImplTest, NumericIPv4Address) {
286 // Stevens says dotted quads with AI_UNSPEC resolve to a single sockaddr_in. 281 // Stevens says dotted quads with AI_UNSPEC resolve to a single sockaddr_in.
287 282
288 scoped_refptr<RuleBasedHostResolverProc> resolver_proc = 283 scoped_refptr<RuleBasedHostResolverProc> resolver_proc =
289 new RuleBasedHostResolverProc(NULL); 284 new RuleBasedHostResolverProc(NULL);
290 resolver_proc->AllowDirectLookup("*"); 285 resolver_proc->AllowDirectLookup("*");
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 815
821 AddressList addrlist; 816 AddressList addrlist;
822 817
823 // Resolve "host1". 818 // Resolve "host1".
824 HostResolver::RequestInfo info1("host1", 70); 819 HostResolver::RequestInfo info1("host1", 70);
825 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); 820 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
826 int rv = host_resolver->Resolve(info1, &addrlist, NULL, NULL, log); 821 int rv = host_resolver->Resolve(info1, &addrlist, NULL, NULL, log);
827 EXPECT_EQ(OK, rv); 822 EXPECT_EQ(OK, rv);
828 823
829 EXPECT_EQ(6u, log->entries().size()); 824 EXPECT_EQ(6u, log->entries().size());
830 ExpectLogContains(log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL, 825 EXPECT_TRUE(LogContainsBeginEvent(*log, 0, LoadLog::TYPE_HOST_RESOLVER_IMPL));
831 LoadLog::PHASE_BEGIN); 826 EXPECT_TRUE(LogContainsBeginEvent(
832 ExpectLogContains(log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 827 *log, 1, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART));
833 LoadLog::PHASE_BEGIN); 828 EXPECT_TRUE(LogContainsEndEvent(
834 ExpectLogContains(log, 2, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 829 *log, 2, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART));
835 LoadLog::PHASE_END); 830 EXPECT_TRUE(LogContainsBeginEvent(
836 ExpectLogContains(log, 3, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONFINISH, 831 *log, 3, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONFINISH));
837 LoadLog::PHASE_BEGIN); 832 EXPECT_TRUE(LogContainsEndEvent(
838 ExpectLogContains(log, 4, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONFINISH, 833 *log, 4, LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONFINISH));
839 LoadLog::PHASE_END); 834 EXPECT_TRUE(LogContainsEndEvent(
840 ExpectLogContains(log, 5, LoadLog::TYPE_HOST_RESOLVER_IMPL, 835 *log, 5, LoadLog::TYPE_HOST_RESOLVER_IMPL));
841 LoadLog::PHASE_END);
842 836
843 EXPECT_EQ(1U, observer.start_log.size()); 837 EXPECT_EQ(1U, observer.start_log.size());
844 EXPECT_EQ(1U, observer.finish_log.size()); 838 EXPECT_EQ(1U, observer.finish_log.size());
845 EXPECT_EQ(0U, observer.cancel_log.size()); 839 EXPECT_EQ(0U, observer.cancel_log.size());
846 EXPECT_TRUE(observer.start_log[0] == 840 EXPECT_TRUE(observer.start_log[0] ==
847 CapturingObserver::StartOrCancelEntry(0, info1)); 841 CapturingObserver::StartOrCancelEntry(0, info1));
848 EXPECT_TRUE(observer.finish_log[0] == 842 EXPECT_TRUE(observer.finish_log[0] ==
849 CapturingObserver::FinishEntry(0, true, info1)); 843 CapturingObserver::FinishEntry(0, true, info1));
850 844
851 // Resolve "host1" again -- this time it will be served from cache, but it 845 // Resolve "host1" again -- this time it will be served from cache, but it
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 982
989 // Resolve "host1" again -- this time it won't be served from cache, so it 983 // Resolve "host1" again -- this time it won't be served from cache, so it
990 // will complete asynchronously. 984 // will complete asynchronously.
991 rv = host_resolver->Resolve(info1, &addrlist, &callback, NULL, NULL); 985 rv = host_resolver->Resolve(info1, &addrlist, &callback, NULL, NULL);
992 ASSERT_EQ(ERR_IO_PENDING, rv); // Should complete asynchronously. 986 ASSERT_EQ(ERR_IO_PENDING, rv); // Should complete asynchronously.
993 EXPECT_EQ(OK, callback.WaitForResult()); 987 EXPECT_EQ(OK, callback.WaitForResult());
994 } 988 }
995 989
996 } // namespace 990 } // namespace
997 } // namespace net 991 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/base/load_log_unittest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698