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

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

Issue 642403002: git cl format the first third of the net/base directory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | net/base/cache_type.h » ('j') | net/base/directory_lister.h » ('J')
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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "net/base/address_tracker_linux.h" 6 #include "net/base/address_tracker_linux.h"
7 7
8 #include <linux/if.h> 8 #include <linux/if.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 original_get_interface_name_ = tracker_->get_interface_name_; 47 original_get_interface_name_ = tracker_->get_interface_name_;
48 tracker_->get_interface_name_ = TestGetInterfaceName; 48 tracker_->get_interface_name_ = TestGetInterfaceName;
49 } 49 }
50 50
51 bool HandleAddressMessage(const Buffer& buf) { 51 bool HandleAddressMessage(const Buffer& buf) {
52 Buffer writable_buf = buf; 52 Buffer writable_buf = buf;
53 bool address_changed = false; 53 bool address_changed = false;
54 bool link_changed = false; 54 bool link_changed = false;
55 bool tunnel_changed = false; 55 bool tunnel_changed = false;
56 tracker_->HandleMessage(&writable_buf[0], buf.size(), 56 tracker_->HandleMessage(&writable_buf[0],
57 &address_changed, &link_changed, &tunnel_changed); 57 buf.size(),
58 &address_changed,
59 &link_changed,
60 &tunnel_changed);
58 EXPECT_FALSE(link_changed); 61 EXPECT_FALSE(link_changed);
59 return address_changed; 62 return address_changed;
60 } 63 }
61 64
62 bool HandleLinkMessage(const Buffer& buf) { 65 bool HandleLinkMessage(const Buffer& buf) {
63 Buffer writable_buf = buf; 66 Buffer writable_buf = buf;
64 bool address_changed = false; 67 bool address_changed = false;
65 bool link_changed = false; 68 bool link_changed = false;
66 bool tunnel_changed = false; 69 bool tunnel_changed = false;
67 tracker_->HandleMessage(&writable_buf[0], buf.size(), 70 tracker_->HandleMessage(&writable_buf[0],
68 &address_changed, &link_changed, &tunnel_changed); 71 buf.size(),
72 &address_changed,
73 &link_changed,
74 &tunnel_changed);
69 EXPECT_FALSE(address_changed); 75 EXPECT_FALSE(address_changed);
70 return link_changed; 76 return link_changed;
71 } 77 }
72 78
73 bool HandleTunnelMessage(const Buffer& buf) { 79 bool HandleTunnelMessage(const Buffer& buf) {
74 Buffer writable_buf = buf; 80 Buffer writable_buf = buf;
75 bool address_changed = false; 81 bool address_changed = false;
76 bool link_changed = false; 82 bool link_changed = false;
77 bool tunnel_changed = false; 83 bool tunnel_changed = false;
78 tracker_->HandleMessage(&writable_buf[0], buf.size(), 84 tracker_->HandleMessage(&writable_buf[0],
79 &address_changed, &link_changed, &tunnel_changed); 85 buf.size(),
86 &address_changed,
87 &link_changed,
88 &tunnel_changed);
80 EXPECT_FALSE(address_changed); 89 EXPECT_FALSE(address_changed);
81 return tunnel_changed; 90 return tunnel_changed;
82 } 91 }
83 92
84 AddressTrackerLinux::AddressMap GetAddressMap() { 93 AddressTrackerLinux::AddressMap GetAddressMap() {
85 return tracker_->GetAddressMap(); 94 return tracker_->GetAddressMap();
86 } 95 }
87 96
88 const base::hash_set<int> GetOnlineLinks() const { 97 const base::hash_set<int> GetOnlineLinks() const {
89 return tracker_->GetOnlineLinks(); 98 return tracker_->GetOnlineLinks();
90 } 99 }
91 100
92 scoped_ptr<AddressTrackerLinux> tracker_; 101 scoped_ptr<AddressTrackerLinux> tracker_;
93 AddressTrackerLinux::GetInterfaceNameFunction original_get_interface_name_; 102 AddressTrackerLinux::GetInterfaceNameFunction original_get_interface_name_;
94 }; 103 };
95 104
96 namespace { 105 namespace {
97 106
98 class NetlinkMessage { 107 class NetlinkMessage {
99 public: 108 public:
100 explicit NetlinkMessage(uint16 type) : buffer_(NLMSG_HDRLEN) { 109 explicit NetlinkMessage(uint16 type) : buffer_(NLMSG_HDRLEN) {
101 header()->nlmsg_type = type; 110 header()->nlmsg_type = type;
102 Align(); 111 Align();
103 } 112 }
104 113
105 void AddPayload(const void* data, size_t length) { 114 void AddPayload(const void* data, size_t length) {
106 CHECK_EQ(static_cast<size_t>(NLMSG_HDRLEN), 115 CHECK_EQ(static_cast<size_t>(NLMSG_HDRLEN), buffer_.size())
107 buffer_.size()) << "Payload must be added first"; 116 << "Payload must be added first";
108 Append(data, length); 117 Append(data, length);
109 Align(); 118 Align();
110 } 119 }
111 120
112 void AddAttribute(uint16 type, const void* data, size_t length) { 121 void AddAttribute(uint16 type, const void* data, size_t length) {
113 struct nlattr attr; 122 struct nlattr attr;
114 attr.nla_len = NLA_HDRLEN + length; 123 attr.nla_len = NLA_HDRLEN + length;
115 attr.nla_type = type; 124 attr.nla_type = type;
116 Append(&attr, sizeof(attr)); 125 Append(&attr, sizeof(attr));
117 Align(); 126 Align();
118 Append(data, length); 127 Append(data, length);
119 Align(); 128 Align();
120 } 129 }
121 130
122 void AppendTo(Buffer* output) const { 131 void AppendTo(Buffer* output) const {
123 CHECK_EQ(NLMSG_ALIGN(output->size()), output->size()); 132 CHECK_EQ(NLMSG_ALIGN(output->size()), output->size());
124 output->reserve(output->size() + NLMSG_LENGTH(buffer_.size())); 133 output->reserve(output->size() + NLMSG_LENGTH(buffer_.size()));
125 output->insert(output->end(), buffer_.begin(), buffer_.end()); 134 output->insert(output->end(), buffer_.begin(), buffer_.end());
126 } 135 }
127 136
128 private: 137 private:
129 void Append(const void* data, size_t length) { 138 void Append(const void* data, size_t length) {
130 const char* chardata = reinterpret_cast<const char*>(data); 139 const char* chardata = reinterpret_cast<const char*>(data);
131 buffer_.insert(buffer_.end(), chardata, chardata + length); 140 buffer_.insert(buffer_.end(), chardata, chardata + length);
132 } 141 }
133 142
134 void Align() { 143 void Align() {
135 header()->nlmsg_len = buffer_.size(); 144 header()->nlmsg_len = buffer_.size();
136 buffer_.insert(buffer_.end(), NLMSG_ALIGN(buffer_.size()) - buffer_.size(), 145 buffer_.insert(
137 0); 146 buffer_.end(), NLMSG_ALIGN(buffer_.size()) - buffer_.size(), 0);
138 CHECK(NLMSG_OK(header(), buffer_.size())); 147 CHECK(NLMSG_OK(header(), buffer_.size()));
139 } 148 }
140 149
141 struct nlmsghdr* header() { 150 struct nlmsghdr* header() {
142 return reinterpret_cast<struct nlmsghdr*>(&buffer_[0]); 151 return reinterpret_cast<struct nlmsghdr*>(&buffer_[0]);
143 } 152 }
144 153
145 Buffer buffer_; 154 Buffer buffer_;
146 }; 155 };
147 156
(...skipping 21 matching lines...) Expand all
169 nlmsg.AddAttribute(IFA_CACHEINFO, &cache_info, sizeof(cache_info)); 178 nlmsg.AddAttribute(IFA_CACHEINFO, &cache_info, sizeof(cache_info));
170 nlmsg.AppendTo(output); 179 nlmsg.AppendTo(output);
171 } 180 }
172 181
173 void MakeAddrMessage(uint16 type, 182 void MakeAddrMessage(uint16 type,
174 uint8 flags, 183 uint8 flags,
175 uint8 family, 184 uint8 family,
176 const IPAddressNumber& address, 185 const IPAddressNumber& address,
177 const IPAddressNumber& local, 186 const IPAddressNumber& local,
178 Buffer* output) { 187 Buffer* output) {
179 MakeAddrMessageWithCacheInfo(type, flags, family, address, local, 188 MakeAddrMessageWithCacheInfo(
180 INFINITY_LIFE_TIME, output); 189 type, flags, family, address, local, INFINITY_LIFE_TIME, output);
181 } 190 }
182 191
183 void MakeLinkMessage(uint16 type, uint32 flags, uint32 index, Buffer* output) { 192 void MakeLinkMessage(uint16 type, uint32 flags, uint32 index, Buffer* output) {
184 NetlinkMessage nlmsg(type); 193 NetlinkMessage nlmsg(type);
185 struct ifinfomsg msg = {}; 194 struct ifinfomsg msg = {};
186 msg.ifi_index = index; 195 msg.ifi_index = index;
187 msg.ifi_flags = flags; 196 msg.ifi_flags = flags;
188 nlmsg.AddPayload(&msg, sizeof(msg)); 197 nlmsg.AddPayload(&msg, sizeof(msg));
189 output->clear(); 198 output->clear();
190 nlmsg.AppendTo(output); 199 nlmsg.AppendTo(output);
191 } 200 }
192 201
193 const unsigned char kAddress0[] = { 127, 0, 0, 1 }; 202 const unsigned char kAddress0[] = {127, 0, 0, 1};
194 const unsigned char kAddress1[] = { 10, 0, 0, 1 }; 203 const unsigned char kAddress1[] = {10, 0, 0, 1};
195 const unsigned char kAddress2[] = { 192, 168, 0, 1 }; 204 const unsigned char kAddress2[] = {192, 168, 0, 1};
196 const unsigned char kAddress3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205 const unsigned char kAddress3[] =
197 0, 0, 0, 1 }; 206 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
198 207
199 TEST_F(AddressTrackerLinuxTest, NewAddress) { 208 TEST_F(AddressTrackerLinuxTest, NewAddress) {
200 InitializeAddressTracker(true); 209 InitializeAddressTracker(true);
201 210
202 const IPAddressNumber kEmpty; 211 const IPAddressNumber kEmpty;
203 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0)); 212 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0));
204 const IPAddressNumber kAddr1(kAddress1, kAddress1 + arraysize(kAddress1)); 213 const IPAddressNumber kAddr1(kAddress1, kAddress1 + arraysize(kAddress1));
205 const IPAddressNumber kAddr2(kAddress2, kAddress2 + arraysize(kAddress2)); 214 const IPAddressNumber kAddr2(kAddress2, kAddress2 + arraysize(kAddress2));
206 const IPAddressNumber kAddr3(kAddress3, kAddress3 + arraysize(kAddress3)); 215 const IPAddressNumber kAddr3(kAddress3, kAddress3 + arraysize(kAddress3));
207 216
208 Buffer buffer; 217 Buffer buffer;
209 MakeAddrMessage(RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, 218 MakeAddrMessage(
210 &buffer); 219 RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, &buffer);
211 EXPECT_TRUE(HandleAddressMessage(buffer)); 220 EXPECT_TRUE(HandleAddressMessage(buffer));
212 AddressTrackerLinux::AddressMap map = GetAddressMap(); 221 AddressTrackerLinux::AddressMap map = GetAddressMap();
213 EXPECT_EQ(1u, map.size()); 222 EXPECT_EQ(1u, map.size());
214 EXPECT_EQ(1u, map.count(kAddr0)); 223 EXPECT_EQ(1u, map.count(kAddr0));
215 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags); 224 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags);
216 225
217 buffer.clear(); 226 buffer.clear();
218 MakeAddrMessage(RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr1, kAddr2, 227 MakeAddrMessage(
219 &buffer); 228 RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr1, kAddr2, &buffer);
220 EXPECT_TRUE(HandleAddressMessage(buffer)); 229 EXPECT_TRUE(HandleAddressMessage(buffer));
221 map = GetAddressMap(); 230 map = GetAddressMap();
222 EXPECT_EQ(2u, map.size()); 231 EXPECT_EQ(2u, map.size());
223 EXPECT_EQ(1u, map.count(kAddr0)); 232 EXPECT_EQ(1u, map.count(kAddr0));
224 EXPECT_EQ(1u, map.count(kAddr2)); 233 EXPECT_EQ(1u, map.count(kAddr2));
225 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr2].ifa_flags); 234 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr2].ifa_flags);
226 235
227 buffer.clear(); 236 buffer.clear();
228 MakeAddrMessage(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, &buffer); 237 MakeAddrMessage(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, &buffer);
229 EXPECT_TRUE(HandleAddressMessage(buffer)); 238 EXPECT_TRUE(HandleAddressMessage(buffer));
230 map = GetAddressMap(); 239 map = GetAddressMap();
231 EXPECT_EQ(3u, map.size()); 240 EXPECT_EQ(3u, map.size());
232 EXPECT_EQ(1u, map.count(kAddr3)); 241 EXPECT_EQ(1u, map.count(kAddr3));
233 } 242 }
234 243
235 TEST_F(AddressTrackerLinuxTest, NewAddressChange) { 244 TEST_F(AddressTrackerLinuxTest, NewAddressChange) {
236 InitializeAddressTracker(true); 245 InitializeAddressTracker(true);
237 246
238 const IPAddressNumber kEmpty; 247 const IPAddressNumber kEmpty;
239 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0)); 248 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0));
240 249
241 Buffer buffer; 250 Buffer buffer;
242 MakeAddrMessage(RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, 251 MakeAddrMessage(
243 &buffer); 252 RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, &buffer);
244 EXPECT_TRUE(HandleAddressMessage(buffer)); 253 EXPECT_TRUE(HandleAddressMessage(buffer));
245 AddressTrackerLinux::AddressMap map = GetAddressMap(); 254 AddressTrackerLinux::AddressMap map = GetAddressMap();
246 EXPECT_EQ(1u, map.size()); 255 EXPECT_EQ(1u, map.size());
247 EXPECT_EQ(1u, map.count(kAddr0)); 256 EXPECT_EQ(1u, map.count(kAddr0));
248 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags); 257 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags);
249 258
250 buffer.clear(); 259 buffer.clear();
251 MakeAddrMessage(RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr0, kEmpty, 260 MakeAddrMessage(
252 &buffer); 261 RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr0, kEmpty, &buffer);
253 EXPECT_TRUE(HandleAddressMessage(buffer)); 262 EXPECT_TRUE(HandleAddressMessage(buffer));
254 map = GetAddressMap(); 263 map = GetAddressMap();
255 EXPECT_EQ(1u, map.size()); 264 EXPECT_EQ(1u, map.size());
256 EXPECT_EQ(1u, map.count(kAddr0)); 265 EXPECT_EQ(1u, map.count(kAddr0));
257 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr0].ifa_flags); 266 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr0].ifa_flags);
258 267
259 // Both messages in one buffer. 268 // Both messages in one buffer.
260 buffer.clear(); 269 buffer.clear();
261 MakeAddrMessage(RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, 270 MakeAddrMessage(
262 &buffer); 271 RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kEmpty, &buffer);
263 MakeAddrMessage(RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr0, kEmpty, 272 MakeAddrMessage(
264 &buffer); 273 RTM_NEWADDR, IFA_F_HOMEADDRESS, AF_INET, kAddr0, kEmpty, &buffer);
265 EXPECT_TRUE(HandleAddressMessage(buffer)); 274 EXPECT_TRUE(HandleAddressMessage(buffer));
266 map = GetAddressMap(); 275 map = GetAddressMap();
267 EXPECT_EQ(1u, map.size()); 276 EXPECT_EQ(1u, map.size());
268 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr0].ifa_flags); 277 EXPECT_EQ(IFA_F_HOMEADDRESS, map[kAddr0].ifa_flags);
269 } 278 }
270 279
271 TEST_F(AddressTrackerLinuxTest, NewAddressDuplicate) { 280 TEST_F(AddressTrackerLinuxTest, NewAddressDuplicate) {
272 InitializeAddressTracker(true); 281 InitializeAddressTracker(true);
273 282
274 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0)); 283 const IPAddressNumber kAddr0(kAddress0, kAddress0 + arraysize(kAddress0));
275 284
276 Buffer buffer; 285 Buffer buffer;
277 MakeAddrMessage(RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kAddr0, 286 MakeAddrMessage(
278 &buffer); 287 RTM_NEWADDR, IFA_F_TEMPORARY, AF_INET, kAddr0, kAddr0, &buffer);
279 EXPECT_TRUE(HandleAddressMessage(buffer)); 288 EXPECT_TRUE(HandleAddressMessage(buffer));
280 AddressTrackerLinux::AddressMap map = GetAddressMap(); 289 AddressTrackerLinux::AddressMap map = GetAddressMap();
281 EXPECT_EQ(1u, map.size()); 290 EXPECT_EQ(1u, map.size());
282 EXPECT_EQ(1u, map.count(kAddr0)); 291 EXPECT_EQ(1u, map.count(kAddr0));
283 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags); 292 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags);
284 293
285 EXPECT_FALSE(HandleAddressMessage(buffer)); 294 EXPECT_FALSE(HandleAddressMessage(buffer));
286 map = GetAddressMap(); 295 map = GetAddressMap();
287 EXPECT_EQ(1u, map.size()); 296 EXPECT_EQ(1u, map.size());
288 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags); 297 EXPECT_EQ(IFA_F_TEMPORARY, map[kAddr0].ifa_flags);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 Buffer buffer; 343 Buffer buffer;
335 MakeAddrMessage(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, &buffer); 344 MakeAddrMessage(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, &buffer);
336 EXPECT_TRUE(HandleAddressMessage(buffer)); 345 EXPECT_TRUE(HandleAddressMessage(buffer));
337 AddressTrackerLinux::AddressMap map = GetAddressMap(); 346 AddressTrackerLinux::AddressMap map = GetAddressMap();
338 EXPECT_EQ(1u, map.size()); 347 EXPECT_EQ(1u, map.size());
339 EXPECT_EQ(1u, map.count(kAddr3)); 348 EXPECT_EQ(1u, map.count(kAddr3));
340 EXPECT_EQ(0, map[kAddr3].ifa_flags); 349 EXPECT_EQ(0, map[kAddr3].ifa_flags);
341 350
342 // Verify 0 preferred lifetime implies deprecated. 351 // Verify 0 preferred lifetime implies deprecated.
343 buffer.clear(); 352 buffer.clear();
344 MakeAddrMessageWithCacheInfo(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, 0, 353 MakeAddrMessageWithCacheInfo(
345 &buffer); 354 RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, 0, &buffer);
346 EXPECT_TRUE(HandleAddressMessage(buffer)); 355 EXPECT_TRUE(HandleAddressMessage(buffer));
347 map = GetAddressMap(); 356 map = GetAddressMap();
348 EXPECT_EQ(1u, map.size()); 357 EXPECT_EQ(1u, map.size());
349 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags); 358 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags);
350 359
351 // Verify properly flagged message doesn't imply change. 360 // Verify properly flagged message doesn't imply change.
352 buffer.clear(); 361 buffer.clear();
353 MakeAddrMessageWithCacheInfo(RTM_NEWADDR, IFA_F_DEPRECATED, AF_INET6, kEmpty, 362 MakeAddrMessageWithCacheInfo(
354 kAddr3, 0, &buffer); 363 RTM_NEWADDR, IFA_F_DEPRECATED, AF_INET6, kEmpty, kAddr3, 0, &buffer);
355 EXPECT_FALSE(HandleAddressMessage(buffer)); 364 EXPECT_FALSE(HandleAddressMessage(buffer));
356 map = GetAddressMap(); 365 map = GetAddressMap();
357 EXPECT_EQ(1u, map.size()); 366 EXPECT_EQ(1u, map.size());
358 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags); 367 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags);
359 368
360 // Verify implied deprecated doesn't imply change. 369 // Verify implied deprecated doesn't imply change.
361 buffer.clear(); 370 buffer.clear();
362 MakeAddrMessageWithCacheInfo(RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, 0, 371 MakeAddrMessageWithCacheInfo(
363 &buffer); 372 RTM_NEWADDR, 0, AF_INET6, kEmpty, kAddr3, 0, &buffer);
364 EXPECT_FALSE(HandleAddressMessage(buffer)); 373 EXPECT_FALSE(HandleAddressMessage(buffer));
365 map = GetAddressMap(); 374 map = GetAddressMap();
366 EXPECT_EQ(1u, map.size()); 375 EXPECT_EQ(1u, map.size());
367 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags); 376 EXPECT_EQ(IFA_F_DEPRECATED, map[kAddr3].ifa_flags);
368 } 377 }
369 378
370 TEST_F(AddressTrackerLinuxTest, IgnoredMessage) { 379 TEST_F(AddressTrackerLinuxTest, IgnoredMessage) {
371 InitializeAddressTracker(true); 380 InitializeAddressTracker(true);
372 381
373 const IPAddressNumber kEmpty; 382 const IPAddressNumber kEmpty;
(...skipping 26 matching lines...) Expand all
400 } 409 }
401 410
402 TEST_F(AddressTrackerLinuxTest, AddInterface) { 411 TEST_F(AddressTrackerLinuxTest, AddInterface) {
403 InitializeAddressTracker(true); 412 InitializeAddressTracker(true);
404 413
405 Buffer buffer; 414 Buffer buffer;
406 415
407 // Ignores loopback. 416 // Ignores loopback.
408 MakeLinkMessage(RTM_NEWLINK, 417 MakeLinkMessage(RTM_NEWLINK,
409 IFF_LOOPBACK | IFF_UP | IFF_LOWER_UP | IFF_RUNNING, 418 IFF_LOOPBACK | IFF_UP | IFF_LOWER_UP | IFF_RUNNING,
410 0, &buffer); 419 0,
420 &buffer);
411 EXPECT_FALSE(HandleLinkMessage(buffer)); 421 EXPECT_FALSE(HandleLinkMessage(buffer));
412 EXPECT_TRUE(GetOnlineLinks().empty()); 422 EXPECT_TRUE(GetOnlineLinks().empty());
413 423
414 // Ignores not IFF_LOWER_UP. 424 // Ignores not IFF_LOWER_UP.
415 MakeLinkMessage(RTM_NEWLINK, IFF_UP | IFF_RUNNING, 0, &buffer); 425 MakeLinkMessage(RTM_NEWLINK, IFF_UP | IFF_RUNNING, 0, &buffer);
416 EXPECT_FALSE(HandleLinkMessage(buffer)); 426 EXPECT_FALSE(HandleLinkMessage(buffer));
417 EXPECT_TRUE(GetOnlineLinks().empty()); 427 EXPECT_TRUE(GetOnlineLinks().empty());
418 428
419 // Ignores deletion. 429 // Ignores deletion.
420 MakeLinkMessage(RTM_DELLINK, IFF_UP | IFF_LOWER_UP | IFF_RUNNING, 0, &buffer); 430 MakeLinkMessage(RTM_DELLINK, IFF_UP | IFF_LOWER_UP | IFF_RUNNING, 0, &buffer);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 } 484 }
475 485
476 TEST_F(AddressTrackerLinuxTest, TunnelInterface) { 486 TEST_F(AddressTrackerLinuxTest, TunnelInterface) {
477 InitializeAddressTracker(true); 487 InitializeAddressTracker(true);
478 488
479 Buffer buffer; 489 Buffer buffer;
480 490
481 // Ignores without "tun" prefixed name. 491 // Ignores without "tun" prefixed name.
482 MakeLinkMessage(RTM_NEWLINK, 492 MakeLinkMessage(RTM_NEWLINK,
483 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 493 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
484 0, &buffer); 494 0,
495 &buffer);
485 EXPECT_FALSE(HandleTunnelMessage(buffer)); 496 EXPECT_FALSE(HandleTunnelMessage(buffer));
486 497
487 // Verify success. 498 // Verify success.
488 MakeLinkMessage(RTM_NEWLINK, 499 MakeLinkMessage(RTM_NEWLINK,
489 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 500 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
490 kTestInterfaceTun, &buffer); 501 kTestInterfaceTun,
502 &buffer);
491 EXPECT_TRUE(HandleTunnelMessage(buffer)); 503 EXPECT_TRUE(HandleTunnelMessage(buffer));
492 504
493 // Ignores redundant enables. 505 // Ignores redundant enables.
494 MakeLinkMessage(RTM_NEWLINK, 506 MakeLinkMessage(RTM_NEWLINK,
495 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 507 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
496 kTestInterfaceTun, &buffer); 508 kTestInterfaceTun,
509 &buffer);
497 EXPECT_FALSE(HandleTunnelMessage(buffer)); 510 EXPECT_FALSE(HandleTunnelMessage(buffer));
498 511
499 // Ignores deleting without "tun" prefixed name. 512 // Ignores deleting without "tun" prefixed name.
500 MakeLinkMessage(RTM_DELLINK, 513 MakeLinkMessage(RTM_DELLINK,
501 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 514 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
502 0, &buffer); 515 0,
516 &buffer);
503 EXPECT_FALSE(HandleTunnelMessage(buffer)); 517 EXPECT_FALSE(HandleTunnelMessage(buffer));
504 518
505 // Verify successful deletion 519 // Verify successful deletion
506 MakeLinkMessage(RTM_DELLINK, 520 MakeLinkMessage(RTM_DELLINK,
507 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 521 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
508 kTestInterfaceTun, &buffer); 522 kTestInterfaceTun,
523 &buffer);
509 EXPECT_TRUE(HandleTunnelMessage(buffer)); 524 EXPECT_TRUE(HandleTunnelMessage(buffer));
510 525
511 // Ignores redundant deletions. 526 // Ignores redundant deletions.
512 MakeLinkMessage(RTM_DELLINK, 527 MakeLinkMessage(RTM_DELLINK,
513 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT, 528 IFF_UP | IFF_LOWER_UP | IFF_RUNNING | IFF_POINTOPOINT,
514 kTestInterfaceTun, &buffer); 529 kTestInterfaceTun,
530 &buffer);
515 EXPECT_FALSE(HandleTunnelMessage(buffer)); 531 EXPECT_FALSE(HandleTunnelMessage(buffer));
516 } 532 }
517 533
518 // Check AddressTrackerLinux::get_interface_name_ original implementation 534 // Check AddressTrackerLinux::get_interface_name_ original implementation
519 // doesn't crash or return NULL. 535 // doesn't crash or return NULL.
520 TEST_F(AddressTrackerLinuxTest, GetInterfaceName) { 536 TEST_F(AddressTrackerLinuxTest, GetInterfaceName) {
521 InitializeAddressTracker(true); 537 InitializeAddressTracker(true);
522 538
523 for (int i = 0; i < 10; i++) 539 for (int i = 0; i < 10; i++)
524 EXPECT_NE((const char*)NULL, original_get_interface_name_(i)); 540 EXPECT_NE((const char*)NULL, original_get_interface_name_(i));
(...skipping 22 matching lines...) Expand all
547 563
548 TEST_F(AddressTrackerLinuxTest, NonTrackingModeInit) { 564 TEST_F(AddressTrackerLinuxTest, NonTrackingModeInit) {
549 AddressTrackerLinux tracker; 565 AddressTrackerLinux tracker;
550 tracker.Init(); 566 tracker.Init();
551 } 567 }
552 568
553 } // namespace 569 } // namespace
554 570
555 } // namespace internal 571 } // namespace internal
556 } // namespace net 572 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/base/cache_type.h » ('j') | net/base/directory_lister.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698