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

Side by Side Diff: components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiver_unittest.cc

Issue 2574853002: De-flake BluetoothLowEnergyWeave* tests. (Closed)
Patch Set: Removed TODO comments. Created 4 years 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 | « components/proximity_auth/ble/bluetooth_low_energy_weave_packet_generator_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiv er.h" 5 #include "components/proximity_auth/ble/bluetooth_low_energy_weave_packet_receiv er.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 28 matching lines...) Expand all
39 class ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest 39 class ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest
40 : public testing::Test { 40 : public testing::Test {
41 protected: 41 protected:
42 ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest() {} 42 ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest() {}
43 43
44 private: 44 private:
45 DISALLOW_COPY_AND_ASSIGN( 45 DISALLOW_COPY_AND_ASSIGN(
46 ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest); 46 ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest);
47 }; 47 };
48 48
49 // TODO(http://crbug.com/651246) this test is flaky.
50 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 49 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
51 DISABLED_WellBehavingServerPacketsNoControlDataTest) { 50 WellBehavingServerPacketsNoControlDataTest) {
52 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 51 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
53 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 52 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
54 ReceiverType::SERVER); 53 ReceiverType::SERVER);
55 54
56 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 55 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
57 kByteWeaveVersion, kEmptyUpperByte, 56 kByteWeaveVersion, kEmptyUpperByte,
58 kByteWeaveVersion, kEmptyUpperByte, 57 kByteWeaveVersion, kEmptyUpperByte,
59 kByteSelectMaxPacketSize}; 58 kByteSelectMaxPacketSize};
60 receiver->ReceivePacket(p0); 59 receiver->ReceivePacket(p0);
61 EXPECT_EQ(State::WAITING, receiver->GetState()); 60 EXPECT_EQ(State::WAITING, receiver->GetState());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // -100 ---- : counter = 4 100 // -100 ---- : counter = 4
102 // ---- 0010 : command = 2 (close) 101 // ---- 0010 : command = 2 (close)
103 // 1100 0010 = 0xC2 102 // 1100 0010 = 0xC2
104 // 0x80 is the hex value for APPLICATION_ERROR 103 // 0x80 is the hex value for APPLICATION_ERROR
105 std::vector<uint8_t> p4{0xC2, kEmptyUpperByte, 0x80}; 104 std::vector<uint8_t> p4{0xC2, kEmptyUpperByte, 0x80};
106 receiver->ReceivePacket(p4); 105 receiver->ReceivePacket(p4);
107 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 106 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
108 EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose()); 107 EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose());
109 } 108 }
110 109
111 // TODO(http://crbug.com/651246) this test is flaky.
112 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 110 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
113 DISABLED_WellBehavingServerPacketsWithFullControlDataTest) { 111 WellBehavingServerPacketsWithFullControlDataTest) {
114 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 112 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
115 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 113 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
116 ReceiverType::SERVER); 114 ReceiverType::SERVER);
117 115
118 std::vector<uint8_t> p0{kControlRequestHeader, 116 std::vector<uint8_t> p0{kControlRequestHeader,
119 kEmptyUpperByte, 117 kEmptyUpperByte,
120 kByteWeaveVersion, 118 kByteWeaveVersion,
121 kEmptyUpperByte, 119 kEmptyUpperByte,
122 kByteWeaveVersion, 120 kByteWeaveVersion,
123 kEmptyUpperByte, 121 kEmptyUpperByte,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // 1--- ---- : type = 1 (control packet) 166 // 1--- ---- : type = 1 (control packet)
169 // -011 ---- : counter = 3 167 // -011 ---- : counter = 3
170 // ---- 0010 : command = 2 (close) 168 // ---- 0010 : command = 2 (close)
171 // 1011 0010 = 0xB2 169 // 1011 0010 = 0xB2
172 std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError}; 170 std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError};
173 receiver->ReceivePacket(p3); 171 receiver->ReceivePacket(p3);
174 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 172 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
175 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose()); 173 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
176 } 174 }
177 175
178 // TODO(http://crbug.com/651246) this test is flaky.
179 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 176 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
180 DISABLED_WellBehavingServerPacketsWithSomeControlDataTest) { 177 WellBehavingServerPacketsWithSomeControlDataTest) {
181 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 178 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
182 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 179 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
183 ReceiverType::SERVER); 180 ReceiverType::SERVER);
184 181
185 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 182 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
186 kByteWeaveVersion, kEmptyUpperByte, 183 kByteWeaveVersion, kEmptyUpperByte,
187 kByteWeaveVersion, kEmptyUpperByte, 184 kByteWeaveVersion, kEmptyUpperByte,
188 kByteSelectMaxPacketSize, 'a'}; 185 kByteSelectMaxPacketSize, 'a'};
189 186
190 receiver->ReceivePacket(p0); 187 receiver->ReceivePacket(p0);
(...skipping 28 matching lines...) Expand all
219 // 1--- ---- : type = 1 (control packet) 216 // 1--- ---- : type = 1 (control packet)
220 // -011 ---- : counter = 3 217 // -011 ---- : counter = 3
221 // ---- 0010 : command = 2 (close) 218 // ---- 0010 : command = 2 (close)
222 // 1011 0010 = 0xB2 219 // 1011 0010 = 0xB2
223 std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError}; 220 std::vector<uint8_t> p3{0xB2, kEmptyUpperByte, kCloseWithoutError};
224 receiver->ReceivePacket(p3); 221 receiver->ReceivePacket(p3);
225 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 222 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
226 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose()); 223 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
227 } 224 }
228 225
229 // TODO(http://crbug.com/651246) this test is flaky.
230 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 226 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
231 DISABLED_WellBehavingClientPacketsNoControlDataTest) { 227 WellBehavingClientPacketsNoControlDataTest) {
232 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 228 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
233 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 229 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
234 ReceiverType::CLIENT); 230 ReceiverType::CLIENT);
235 231
236 const uint8_t kSelectedPacketSize = 30; 232 const uint8_t kSelectedPacketSize = 30;
237 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 233 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
238 kByteWeaveVersion, kEmptyUpperByte, 234 kByteWeaveVersion, kEmptyUpperByte,
239 kSelectedPacketSize}; 235 kSelectedPacketSize};
240 receiver->ReceivePacket(p0); 236 receiver->ReceivePacket(p0);
241 EXPECT_EQ(State::WAITING, receiver->GetState()); 237 EXPECT_EQ(State::WAITING, receiver->GetState());
(...skipping 17 matching lines...) Expand all
259 // 1--- ---- : type = 1 (control packet) 255 // 1--- ---- : type = 1 (control packet)
260 // -010 ---- : counter = 2 256 // -010 ---- : counter = 2
261 // ---- 0010 : command = 2 (close) 257 // ---- 0010 : command = 2 (close)
262 // 1010 0010 = 0xA2 258 // 1010 0010 = 0xA2
263 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kApplicationError}; 259 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kApplicationError};
264 receiver->ReceivePacket(p2); 260 receiver->ReceivePacket(p2);
265 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 261 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
266 EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose()); 262 EXPECT_EQ(ReasonForClose::APPLICATION_ERROR, receiver->GetReasonForClose());
267 } 263 }
268 264
269 // TODO(http://crbug.com/651246) this test is flaky.
270 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 265 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
271 DISABLED_WellBehavingClientPacketsWithFullControlDataTest) { 266 WellBehavingClientPacketsWithFullControlDataTest) {
272 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 267 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
273 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 268 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
274 ReceiverType::CLIENT); 269 ReceiverType::CLIENT);
275 270
276 std::vector<uint8_t> p0{kControlResponseHeader, 271 std::vector<uint8_t> p0{kControlResponseHeader,
277 kEmptyUpperByte, 272 kEmptyUpperByte,
278 kByteWeaveVersion, 273 kByteWeaveVersion,
279 kEmptyUpperByte, 274 kEmptyUpperByte,
280 kByteDefaultMaxPacketSize, 275 kByteDefaultMaxPacketSize,
281 'a', 276 'a',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 // 1--- ---- : type = 1 (control packet) 308 // 1--- ---- : type = 1 (control packet)
314 // -010 ---- : counter = 2 309 // -010 ---- : counter = 2
315 // ---- 0010 : command = 2 (close) 310 // ---- 0010 : command = 2 (close)
316 // 1010 0010 = 0xA2 311 // 1010 0010 = 0xA2
317 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError}; 312 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError};
318 receiver->ReceivePacket(p2); 313 receiver->ReceivePacket(p2);
319 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 314 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
320 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose()); 315 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
321 } 316 }
322 317
323 // TODO(http://crbug.com/651246) this test is flaky.
324 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 318 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
325 DISABLED_WellBehavingClientPacketsWithSomeControlDataTest) { 319 WellBehavingClientPacketsWithSomeControlDataTest) {
326 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 320 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
327 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 321 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
328 ReceiverType::CLIENT); 322 ReceiverType::CLIENT);
329 323
330 std::vector<uint8_t> p0{kControlResponseHeader, 324 std::vector<uint8_t> p0{kControlResponseHeader,
331 kEmptyUpperByte, 325 kEmptyUpperByte,
332 kByteWeaveVersion, 326 kByteWeaveVersion,
333 kEmptyUpperByte, 327 kEmptyUpperByte,
334 kByteDefaultMaxPacketSize, 328 kByteDefaultMaxPacketSize,
335 'a', 329 'a',
(...skipping 19 matching lines...) Expand all
355 // 1--- ---- : type = 1 (control packet) 349 // 1--- ---- : type = 1 (control packet)
356 // -010 ---- : counter = 2 350 // -010 ---- : counter = 2
357 // ---- 0010 : command = 2 (close) 351 // ---- 0010 : command = 2 (close)
358 // 1010 0010 = 0xA2 352 // 1010 0010 = 0xA2
359 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError}; 353 std::vector<uint8_t> p2{0xA2, kEmptyUpperByte, kCloseWithoutError};
360 receiver->ReceivePacket(p2); 354 receiver->ReceivePacket(p2);
361 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 355 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
362 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose()); 356 EXPECT_EQ(ReasonForClose::CLOSE_WITHOUT_ERROR, receiver->GetReasonForClose());
363 } 357 }
364 358
365 // TODO(http://crbug.com/651246) this test is flaky.
366 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 359 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
367 DISABLED_LegacyCloseWithoutReasonTest) { 360 LegacyCloseWithoutReasonTest) {
368 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 361 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
369 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 362 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
370 ReceiverType::SERVER); 363 ReceiverType::SERVER);
371 364
372 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 365 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
373 kByteWeaveVersion, kEmptyUpperByte, 366 kByteWeaveVersion, kEmptyUpperByte,
374 kByteWeaveVersion, kEmptyUpperByte, 367 kByteWeaveVersion, kEmptyUpperByte,
375 kByteSelectMaxPacketSize}; 368 kByteSelectMaxPacketSize};
376 receiver->ReceivePacket(p0); 369 receiver->ReceivePacket(p0);
377 EXPECT_EQ(State::WAITING, receiver->GetState()); 370 EXPECT_EQ(State::WAITING, receiver->GetState());
378 371
379 // uWeave Header: 372 // uWeave Header:
380 // 1--- ---- : type = 1 (control packet) 373 // 1--- ---- : type = 1 (control packet)
381 // -001 ---- : counter = 1 374 // -001 ---- : counter = 1
382 // ---- 0010 : command = 2 (close) 375 // ---- 0010 : command = 2 (close)
383 // 1001 0010 = 0x92 376 // 1001 0010 = 0x92
384 std::vector<uint8_t> p1{0x92}; 377 std::vector<uint8_t> p1{0x92};
385 receiver->ReceivePacket(p1); 378 receiver->ReceivePacket(p1);
386 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState()); 379 EXPECT_EQ(State::CONNECTION_CLOSED, receiver->GetState());
387 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonForClose()); 380 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonForClose());
388 } 381 }
389 382
390 // TODO(http://crbug.com/651246) this test is flaky.
391 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 383 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
392 DISABLED_OneBytePacketTest) { 384 OneBytePacketTest) {
393 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 385 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
394 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 386 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
395 ReceiverType::CLIENT); 387 ReceiverType::CLIENT);
396 388
397 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 389 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
398 kByteWeaveVersion, kEmptyUpperByte, 390 kByteWeaveVersion, kEmptyUpperByte,
399 kByteDefaultMaxPacketSize}; 391 kByteDefaultMaxPacketSize};
400 receiver->ReceivePacket(p0); 392 receiver->ReceivePacket(p0);
401 EXPECT_EQ(State::WAITING, receiver->GetState()); 393 EXPECT_EQ(State::WAITING, receiver->GetState());
402 394
403 // uWeave Header: 395 // uWeave Header:
404 // 0--- ---- : type = 0 (data packet) 396 // 0--- ---- : type = 0 (data packet)
405 // -001 ---- : counter = 1 397 // -001 ---- : counter = 1
406 // ---- 1--- : first packet = true 398 // ---- 1--- : first packet = true
407 // ---- -1-- : last packet = true 399 // ---- -1-- : last packet = true
408 // ---- --00 : defined by uWeave to be 0 400 // ---- --00 : defined by uWeave to be 0
409 // 0001 1100 = 0x1C 401 // 0001 1100 = 0x1C
410 std::vector<uint8_t> p1{0x1C}; 402 std::vector<uint8_t> p1{0x1C};
411 receiver->ReceivePacket(p1); 403 receiver->ReceivePacket(p1);
412 EXPECT_EQ(State::DATA_READY, receiver->GetState()); 404 EXPECT_EQ(State::DATA_READY, receiver->GetState());
413 EXPECT_EQ("", receiver->GetDataMessage()); 405 EXPECT_EQ("", receiver->GetDataMessage());
414 } 406 }
415 407
416 // TODO(http://crbug.com/651246) this test is flaky.
417 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 408 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
418 DISABLED_EmptyPacketTest) { 409 EmptyPacketTest) {
419 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 410 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
420 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 411 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
421 ReceiverType::CLIENT); 412 ReceiverType::CLIENT);
422 413
423 std::vector<uint8_t> p0; 414 std::vector<uint8_t> p0;
424 receiver->ReceivePacket(p0); 415 receiver->ReceivePacket(p0);
425 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 416 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
426 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 417 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
427 EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError()); 418 EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError());
428 } 419 }
429 420
430 // TODO(http://crbug.com/651246) this test is flaky.
431 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 421 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
432 DISABLED_ServerReceivingConnectionResponseTest) { 422 ServerReceivingConnectionResponseTest) {
433 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 423 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
434 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 424 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
435 ReceiverType::SERVER); 425 ReceiverType::SERVER);
436 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 426 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
437 kByteWeaveVersion, kEmptyUpperByte, 427 kByteWeaveVersion, kEmptyUpperByte,
438 kByteDefaultMaxPacketSize}; 428 kByteDefaultMaxPacketSize};
439 receiver->ReceivePacket(p0); 429 receiver->ReceivePacket(p0);
440 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 430 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
441 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 431 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
442 EXPECT_EQ(ReceiverError::CLIENT_RECEIVED_CONNECTION_REQUEST, 432 EXPECT_EQ(ReceiverError::CLIENT_RECEIVED_CONNECTION_REQUEST,
443 receiver->GetReceiverError()); 433 receiver->GetReceiverError());
444 } 434 }
445 435
446 // TODO(http://crbug.com/651246) this test is flaky.
447 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 436 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
448 DISABLED_ClientReceivingConnectionRequestTest) { 437 ClientReceivingConnectionRequestTest) {
449 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 438 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
450 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 439 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
451 ReceiverType::CLIENT); 440 ReceiverType::CLIENT);
452 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 441 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
453 kByteWeaveVersion, kEmptyUpperByte, 442 kByteWeaveVersion, kEmptyUpperByte,
454 kByteWeaveVersion, kEmptyUpperByte, 443 kByteWeaveVersion, kEmptyUpperByte,
455 kByteSelectMaxPacketSize}; 444 kByteSelectMaxPacketSize};
456 receiver->ReceivePacket(p0); 445 receiver->ReceivePacket(p0);
457 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 446 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
458 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 447 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
459 EXPECT_EQ(ReceiverError::SERVER_RECEIVED_CONNECTION_RESPONSE, 448 EXPECT_EQ(ReceiverError::SERVER_RECEIVED_CONNECTION_RESPONSE,
460 receiver->GetReceiverError()); 449 receiver->GetReceiverError());
461 } 450 }
462 451
463 // TODO(http://crbug.com/651246) this test is flaky.
464 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 452 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
465 DISABLED_ReceiveConnectionCloseInConnecting) { 453 ReceiveConnectionCloseInConnecting) {
466 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 454 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
467 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 455 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
468 ReceiverType::SERVER); 456 ReceiverType::SERVER);
469 457
470 // uWeave Header: 458 // uWeave Header:
471 // 1--- ---- : type = 1 (control packet) 459 // 1--- ---- : type = 1 (control packet)
472 // -000 ---- : counter = 0 460 // -000 ---- : counter = 0
473 // ---- 0010 : command = 2 (close) 461 // ---- 0010 : command = 2 (close)
474 // 1000 0010 = 0x82 462 // 1000 0010 = 0x82
475 std::vector<uint8_t> p0{0x82, kEmptyUpperByte, kCloseWithoutError}; 463 std::vector<uint8_t> p0{0x82, kEmptyUpperByte, kCloseWithoutError};
476 receiver->ReceivePacket(p0); 464 receiver->ReceivePacket(p0);
477 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 465 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
478 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 466 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
479 EXPECT_EQ(ReceiverError::RECEIVED_CONNECTION_CLOSE_IN_CONNECTING, 467 EXPECT_EQ(ReceiverError::RECEIVED_CONNECTION_CLOSE_IN_CONNECTING,
480 receiver->GetReceiverError()); 468 receiver->GetReceiverError());
481 } 469 }
482 470
483 // TODO(http://crbug.com/651246) this test is flaky.
484 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 471 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
485 DISABLED_ReceiveDataInConnecting) { 472 ReceiveDataInConnecting) {
486 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 473 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
487 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 474 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
488 ReceiverType::SERVER); 475 ReceiverType::SERVER);
489 476
490 // uWeave Header: 477 // uWeave Header:
491 // 0--- ---- : type = 0 (data packet) 478 // 0--- ---- : type = 0 (data packet)
492 // -000 ---- : counter = 0 479 // -000 ---- : counter = 0
493 // ---- 1--- : first packet = true 480 // ---- 1--- : first packet = true
494 // ---- -0-- : last packet = false 481 // ---- -0-- : last packet = false
495 // ---- --00 : defined by uWeave to be 0 482 // ---- --00 : defined by uWeave to be 0
496 // 0000 1000 = 0x08 483 // 0000 1000 = 0x08
497 std::vector<uint8_t> p3{0x08, 'a', 'b', 'c', 'd'}; 484 std::vector<uint8_t> p3{0x08, 'a', 'b', 'c', 'd'};
498 receiver->ReceivePacket(p3); 485 receiver->ReceivePacket(p3);
499 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 486 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
500 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 487 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
501 EXPECT_EQ(ReceiverError::RECEIVED_DATA_IN_CONNECTING, 488 EXPECT_EQ(ReceiverError::RECEIVED_DATA_IN_CONNECTING,
502 receiver->GetReceiverError()); 489 receiver->GetReceiverError());
503 } 490 }
504 491
505 // TODO(http://crbug.com/651246) this test is flaky.
506 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 492 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
507 DISABLED_ConnectionRequestTooSmallTest) { 493 ConnectionRequestTooSmallTest) {
508 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 494 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
509 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 495 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
510 ReceiverType::SERVER); 496 ReceiverType::SERVER);
511 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 497 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
512 kByteWeaveVersion, kEmptyUpperByte, 498 kByteWeaveVersion, kEmptyUpperByte,
513 kByteWeaveVersion, kEmptyUpperByte}; 499 kByteWeaveVersion, kEmptyUpperByte};
514 receiver->ReceivePacket(p0); 500 receiver->ReceivePacket(p0);
515 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 501 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
516 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 502 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
517 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE, 503 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE,
518 receiver->GetReceiverError()); 504 receiver->GetReceiverError());
519 } 505 }
520 506
521 // TODO(http://crbug.com/651246) this test is flaky.
522 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 507 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
523 DISABLED_ConnectionRequestTooLargeTest) { 508 ConnectionRequestTooLargeTest) {
524 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 509 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
525 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 510 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
526 ReceiverType::SERVER); 511 ReceiverType::SERVER);
527 512
528 std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0); 513 std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0);
529 p0[0] = kControlRequestHeader; 514 p0[0] = kControlRequestHeader;
530 p0[2] = kByteWeaveVersion; 515 p0[2] = kByteWeaveVersion;
531 p0[4] = kByteWeaveVersion; 516 p0[4] = kByteWeaveVersion;
532 receiver->ReceivePacket(p0); 517 receiver->ReceivePacket(p0);
533 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 518 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
534 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 519 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
535 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE, 520 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_REQUEST_SIZE,
536 receiver->GetReceiverError()); 521 receiver->GetReceiverError());
537 } 522 }
538 523
539 // TODO(http://crbug.com/651246) this test is flaky.
540 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 524 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
541 DISABLED_ConnectionResponseTooSmallTest) { 525 ConnectionResponseTooSmallTest) {
542 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 526 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
543 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 527 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
544 ReceiverType::CLIENT); 528 ReceiverType::CLIENT);
545 529
546 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 530 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
547 kByteWeaveVersion, kEmptyUpperByte}; 531 kByteWeaveVersion, kEmptyUpperByte};
548 receiver->ReceivePacket(p0); 532 receiver->ReceivePacket(p0);
549 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 533 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
550 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 534 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
551 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE, 535 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE,
552 receiver->GetReceiverError()); 536 receiver->GetReceiverError());
553 } 537 }
554 538
555 // TODO(http://crbug.com/651246) this test is flaky.
556 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 539 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
557 DISABLED_ConnectionResponseTooLargeTest) { 540 ConnectionResponseTooLargeTest) {
558 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 541 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
559 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 542 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
560 ReceiverType::CLIENT); 543 ReceiverType::CLIENT);
561 544
562 std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0); 545 std::vector<uint8_t> p0(kByteDefaultMaxPacketSize + 1, 0);
563 p0[0] = kControlResponseHeader; 546 p0[0] = kControlResponseHeader;
564 p0[2] = kByteWeaveVersion; 547 p0[2] = kByteWeaveVersion;
565 p0[4] = kByteDefaultMaxPacketSize; 548 p0[4] = kByteDefaultMaxPacketSize;
566 receiver->ReceivePacket(p0); 549 receiver->ReceivePacket(p0);
567 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 550 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
568 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 551 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
569 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE, 552 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_RESPONSE_SIZE,
570 receiver->GetReceiverError()); 553 receiver->GetReceiverError());
571 } 554 }
572 555
573 // TODO(http://crbug.com/651246) this test is flaky.
574 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 556 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
575 DISABLED_ConnectionCloseTooLargeTest) { 557 ConnectionCloseTooLargeTest) {
576 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 558 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
577 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 559 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
578 ReceiverType::SERVER); 560 ReceiverType::SERVER);
579 561
580 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 562 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
581 kByteWeaveVersion, kEmptyUpperByte, 563 kByteWeaveVersion, kEmptyUpperByte,
582 kByteWeaveVersion, kEmptyUpperByte, 564 kByteWeaveVersion, kEmptyUpperByte,
583 kByteSelectMaxPacketSize}; 565 kByteSelectMaxPacketSize};
584 receiver->ReceivePacket(p0); 566 receiver->ReceivePacket(p0);
585 EXPECT_EQ(State::WAITING, receiver->GetState()); 567 EXPECT_EQ(State::WAITING, receiver->GetState());
586 568
587 // uWeave Header: 569 // uWeave Header:
588 // 1--- ---- : type = 1 (control packet) 570 // 1--- ---- : type = 1 (control packet)
589 // -001 ---- : counter = 1 571 // -001 ---- : counter = 1
590 // ---- 0010 : command = 2 (close) 572 // ---- 0010 : command = 2 (close)
591 // 1001 0010 = 0x92 573 // 1001 0010 = 0x92
592 std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kCloseWithoutError, 'a'}; 574 std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kCloseWithoutError, 'a'};
593 receiver->ReceivePacket(p1); 575 receiver->ReceivePacket(p1);
594 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 576 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
595 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_CLOSE_SIZE, 577 EXPECT_EQ(ReceiverError::INVALID_CONNECTION_CLOSE_SIZE,
596 receiver->GetReceiverError()); 578 receiver->GetReceiverError());
597 } 579 }
598 580
599 // TODO(http://crbug.com/651246) this test is flaky.
600 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 581 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
601 DISABLED_DataPacketTooLargeTest) { 582 DataPacketTooLargeTest) {
602 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 583 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
603 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 584 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
604 ReceiverType::SERVER); 585 ReceiverType::SERVER);
605 586
606 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 587 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
607 kByteWeaveVersion, kEmptyUpperByte, 588 kByteWeaveVersion, kEmptyUpperByte,
608 kByteWeaveVersion, kEmptyUpperByte, 589 kByteWeaveVersion, kEmptyUpperByte,
609 kByteSelectMaxPacketSize}; 590 kByteSelectMaxPacketSize};
610 receiver->ReceivePacket(p0); 591 receiver->ReceivePacket(p0);
611 EXPECT_EQ(State::WAITING, receiver->GetState()); 592 EXPECT_EQ(State::WAITING, receiver->GetState());
612 593
613 // uWeave Header: 594 // uWeave Header:
614 // 0--- ---- : type = 0 (data packet) 595 // 0--- ---- : type = 0 (data packet)
615 // -001 ---- : counter = 1 596 // -001 ---- : counter = 1
616 // ---- 1--- : first packet = true 597 // ---- 1--- : first packet = true
617 // ---- -1-- : last packet = true 598 // ---- -1-- : last packet = true
618 // ---- --00 : defined by uWeave to be 0 599 // ---- --00 : defined by uWeave to be 0
619 // 0001 1100 = 0x1C 600 // 0001 1100 = 0x1C
620 std::vector<uint8_t> p1(kByteDefaultMaxPacketSize + 1, 'a'); 601 std::vector<uint8_t> p1(kByteDefaultMaxPacketSize + 1, 'a');
621 p1[0] = 0x1C; 602 p1[0] = 0x1C;
622 receiver->ReceivePacket(p1); 603 receiver->ReceivePacket(p1);
623 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 604 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
624 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 605 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
625 EXPECT_EQ(ReceiverError::INVALID_DATA_PACKET_SIZE, 606 EXPECT_EQ(ReceiverError::INVALID_DATA_PACKET_SIZE,
626 receiver->GetReceiverError()); 607 receiver->GetReceiverError());
627 } 608 }
628 609
629 // TODO(http://crbug.com/651246) this test is flaky.
630 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 610 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
631 DISABLED_FirstPacketNoFirstNorLastBitTest) { 611 FirstPacketNoFirstNorLastBitTest) {
632 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 612 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
633 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 613 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
634 ReceiverType::SERVER); 614 ReceiverType::SERVER);
635 615
636 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 616 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
637 kByteWeaveVersion, kEmptyUpperByte, 617 kByteWeaveVersion, kEmptyUpperByte,
638 kByteWeaveVersion, kEmptyUpperByte, 618 kByteWeaveVersion, kEmptyUpperByte,
639 kByteSelectMaxPacketSize}; 619 kByteSelectMaxPacketSize};
640 receiver->ReceivePacket(p0); 620 receiver->ReceivePacket(p0);
641 EXPECT_EQ(State::WAITING, receiver->GetState()); 621 EXPECT_EQ(State::WAITING, receiver->GetState());
642 622
643 // uWeave Header: 623 // uWeave Header:
644 // 0--- ---- : type = 0 (data packet) 624 // 0--- ---- : type = 0 (data packet)
645 // -001 ---- : counter = 1 625 // -001 ---- : counter = 1
646 // ---- 0--- : first packet = false 626 // ---- 0--- : first packet = false
647 // ---- -0-- : last packet = false 627 // ---- -0-- : last packet = false
648 // ---- --00 : defined by uWeave to be 0 628 // ---- --00 : defined by uWeave to be 0
649 // 0001 0000 = 0x10 629 // 0001 0000 = 0x10
650 std::vector<uint8_t> p1{0x10}; 630 std::vector<uint8_t> p1{0x10};
651 receiver->ReceivePacket(p1); 631 receiver->ReceivePacket(p1);
652 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 632 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
653 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE, 633 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
654 receiver->GetReasonToClose()); 634 receiver->GetReasonToClose());
655 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT, 635 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
656 receiver->GetReceiverError()); 636 receiver->GetReceiverError());
657 } 637 }
658 638
659 // TODO(http://crbug.com/651246) this test is flaky.
660 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 639 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
661 DISABLED_FirstPacketNoFirstYesLastBitTest) { 640 FirstPacketNoFirstYesLastBitTest) {
662 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 641 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
663 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 642 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
664 ReceiverType::SERVER); 643 ReceiverType::SERVER);
665 644
666 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 645 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
667 kByteWeaveVersion, kEmptyUpperByte, 646 kByteWeaveVersion, kEmptyUpperByte,
668 kByteWeaveVersion, kEmptyUpperByte, 647 kByteWeaveVersion, kEmptyUpperByte,
669 kByteSelectMaxPacketSize}; 648 kByteSelectMaxPacketSize};
670 receiver->ReceivePacket(p0); 649 receiver->ReceivePacket(p0);
671 EXPECT_EQ(State::WAITING, receiver->GetState()); 650 EXPECT_EQ(State::WAITING, receiver->GetState());
672 651
673 // uWeave Header: 652 // uWeave Header:
674 // 0--- ---- : type = 0 (data packet) 653 // 0--- ---- : type = 0 (data packet)
675 // -001 ---- : counter = 1 654 // -001 ---- : counter = 1
676 // ---- 0--- : first packet = false 655 // ---- 0--- : first packet = false
677 // ---- -1-- : last packet = true 656 // ---- -1-- : last packet = true
678 // ---- --00 : defined by uWeave to be 0 657 // ---- --00 : defined by uWeave to be 0
679 // 0001 0100 = 0x14 658 // 0001 0100 = 0x14
680 std::vector<uint8_t> p1{0x14}; 659 std::vector<uint8_t> p1{0x14};
681 receiver->ReceivePacket(p1); 660 receiver->ReceivePacket(p1);
682 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 661 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
683 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE, 662 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
684 receiver->GetReasonToClose()); 663 receiver->GetReasonToClose());
685 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT, 664 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
686 receiver->GetReceiverError()); 665 receiver->GetReceiverError());
687 } 666 }
688 667
689 // TODO(http://crbug.com/651246) this test is flaky.
690 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 668 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
691 DISABLED_NonFirstPacketYesFirstBitTest) { 669 NonFirstPacketYesFirstBitTest) {
692 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 670 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
693 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 671 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
694 ReceiverType::SERVER); 672 ReceiverType::SERVER);
695 673
696 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 674 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
697 kByteWeaveVersion, kEmptyUpperByte, 675 kByteWeaveVersion, kEmptyUpperByte,
698 kByteWeaveVersion, kEmptyUpperByte, 676 kByteWeaveVersion, kEmptyUpperByte,
699 kByteSelectMaxPacketSize}; 677 kByteSelectMaxPacketSize};
700 receiver->ReceivePacket(p0); 678 receiver->ReceivePacket(p0);
701 EXPECT_EQ(State::WAITING, receiver->GetState()); 679 EXPECT_EQ(State::WAITING, receiver->GetState());
(...skipping 18 matching lines...) Expand all
720 // 0010 1000 = 0x28 698 // 0010 1000 = 0x28
721 std::vector<uint8_t> p2{0x28}; 699 std::vector<uint8_t> p2{0x28};
722 receiver->ReceivePacket(p2); 700 receiver->ReceivePacket(p2);
723 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 701 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
724 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE, 702 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
725 receiver->GetReasonToClose()); 703 receiver->GetReasonToClose());
726 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT, 704 EXPECT_EQ(ReceiverError::INCORRECT_DATA_FIRST_BIT,
727 receiver->GetReceiverError()); 705 receiver->GetReceiverError());
728 } 706 }
729 707
730 // TODO(http://crbug.com/651246) this test is flaky.
731 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 708 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
732 DISABLED_OutOfOrderPacketTest) { 709 OutOfOrderPacketTest) {
733 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 710 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
734 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 711 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
735 ReceiverType::SERVER); 712 ReceiverType::SERVER);
736 713
737 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 714 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
738 kByteWeaveVersion, kEmptyUpperByte, 715 kByteWeaveVersion, kEmptyUpperByte,
739 kByteWeaveVersion, kEmptyUpperByte, 716 kByteWeaveVersion, kEmptyUpperByte,
740 kByteSelectMaxPacketSize}; 717 kByteSelectMaxPacketSize};
741 receiver->ReceivePacket(p0); 718 receiver->ReceivePacket(p0);
742 EXPECT_EQ(State::WAITING, receiver->GetState()); 719 EXPECT_EQ(State::WAITING, receiver->GetState());
743 720
744 // uWeave Header: 721 // uWeave Header:
745 // 0--- ---- : type = 0 (data packet) 722 // 0--- ---- : type = 0 (data packet)
746 // -010 ---- : counter = 2 723 // -010 ---- : counter = 2
747 // ---- 0--- : first packet = false 724 // ---- 0--- : first packet = false
748 // ---- -0-- : last packet = false 725 // ---- -0-- : last packet = false
749 // ---- --00 : defined by uWeave to be 0 726 // ---- --00 : defined by uWeave to be 0
750 // 0010 0000 = 0x20 727 // 0010 0000 = 0x20
751 std::vector<uint8_t> p1{0x20}; 728 std::vector<uint8_t> p1{0x20};
752 receiver->ReceivePacket(p1); 729 receiver->ReceivePacket(p1);
753 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 730 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
754 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE, 731 EXPECT_EQ(ReasonForClose::RECEIVED_PACKET_OUT_OF_SEQUENCE,
755 receiver->GetReasonToClose()); 732 receiver->GetReasonToClose());
756 EXPECT_EQ(ReceiverError::PACKET_OUT_OF_SEQUENCE, 733 EXPECT_EQ(ReceiverError::PACKET_OUT_OF_SEQUENCE,
757 receiver->GetReceiverError()); 734 receiver->GetReceiverError());
758 } 735 }
759 736
760 // TODO(http://crbug.com/651246) this test is flaky.
761 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 737 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
762 DISABLED_InvalidVersionInConnectionRequestTest) { 738 InvalidVersionInConnectionRequestTest) {
763 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 739 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
764 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 740 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
765 ReceiverType::SERVER); 741 ReceiverType::SERVER);
766 742
767 const uint8_t kWrongVersion = 2; 743 const uint8_t kWrongVersion = 2;
768 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 744 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
769 kWrongVersion, kEmptyUpperByte, 745 kWrongVersion, kEmptyUpperByte,
770 kByteWeaveVersion, kEmptyUpperByte, 746 kByteWeaveVersion, kEmptyUpperByte,
771 kByteSelectMaxPacketSize}; 747 kByteSelectMaxPacketSize};
772 receiver->ReceivePacket(p0); 748 receiver->ReceivePacket(p0);
773 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 749 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
774 EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED, 750 EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED,
775 receiver->GetReasonToClose()); 751 receiver->GetReasonToClose());
776 EXPECT_EQ(ReceiverError::NOT_SUPPORTED_REQUESTED_VERSION, 752 EXPECT_EQ(ReceiverError::NOT_SUPPORTED_REQUESTED_VERSION,
777 receiver->GetReceiverError()); 753 receiver->GetReceiverError());
778 } 754 }
779 755
780 // TODO(http://crbug.com/651246) this test is flaky.
781 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 756 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
782 DISABLED_InvalidMaxPacketSizeInConnectionRequestTest) { 757 InvalidMaxPacketSizeInConnectionRequestTest) {
783 const uint8_t kSmallMaxPacketSize = 19; 758 const uint8_t kSmallMaxPacketSize = 19;
784 759
785 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 760 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
786 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 761 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
787 ReceiverType::SERVER); 762 ReceiverType::SERVER);
788 763
789 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 764 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
790 kByteWeaveVersion, kEmptyUpperByte, 765 kByteWeaveVersion, kEmptyUpperByte,
791 kByteWeaveVersion, kEmptyUpperByte, 766 kByteWeaveVersion, kEmptyUpperByte,
792 kSmallMaxPacketSize}; 767 kSmallMaxPacketSize};
793 receiver->ReceivePacket(p0); 768 receiver->ReceivePacket(p0);
794 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 769 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
795 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 770 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
796 EXPECT_EQ(ReceiverError::INVALID_REQUESTED_MAX_PACKET_SIZE, 771 EXPECT_EQ(ReceiverError::INVALID_REQUESTED_MAX_PACKET_SIZE,
797 receiver->GetReceiverError()); 772 receiver->GetReceiverError());
798 } 773 }
799 774
800 // TODO(http://crbug.com/651246) this test is flaky.
801 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 775 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
802 DISABLED_InvalidSelectedVersionInConnectionResponseTest) { 776 InvalidSelectedVersionInConnectionResponseTest) {
803 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 777 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
804 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 778 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
805 ReceiverType::CLIENT); 779 ReceiverType::CLIENT);
806 780
807 std::vector<uint8_t> p0{kControlResponseHeader, kByteWeaveVersion, 781 std::vector<uint8_t> p0{kControlResponseHeader, kByteWeaveVersion,
808 kEmptyUpperByte, kEmptyUpperByte, 782 kEmptyUpperByte, kEmptyUpperByte,
809 kByteDefaultMaxPacketSize}; 783 kByteDefaultMaxPacketSize};
810 receiver->ReceivePacket(p0); 784 receiver->ReceivePacket(p0);
811 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 785 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
812 EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED, 786 EXPECT_EQ(ReasonForClose::NO_COMMON_VERSION_SUPPORTED,
813 receiver->GetReasonToClose()); 787 receiver->GetReasonToClose());
814 EXPECT_EQ(ReceiverError::NOT_SUPPORTED_SELECTED_VERSION, 788 EXPECT_EQ(ReceiverError::NOT_SUPPORTED_SELECTED_VERSION,
815 receiver->GetReceiverError()); 789 receiver->GetReceiverError());
816 } 790 }
817 791
818 // TODO(http://crbug.com/651246) this test is flaky.
819 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 792 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
820 DISABLED_InvalidSelectedMaxPacketSizeInConnectionResponseTest) { 793 InvalidSelectedMaxPacketSizeInConnectionResponseTest) {
821 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 794 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
822 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 795 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
823 ReceiverType::CLIENT); 796 ReceiverType::CLIENT);
824 797
825 const uint8_t kSmallMaxPacketSize = 19; 798 const uint8_t kSmallMaxPacketSize = 19;
826 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 799 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
827 kByteWeaveVersion, kEmptyUpperByte, 800 kByteWeaveVersion, kEmptyUpperByte,
828 kSmallMaxPacketSize}; 801 kSmallMaxPacketSize};
829 receiver->ReceivePacket(p0); 802 receiver->ReceivePacket(p0);
830 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 803 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
831 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 804 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
832 EXPECT_EQ(ReceiverError::INVALID_SELECTED_MAX_PACKET_SIZE, 805 EXPECT_EQ(ReceiverError::INVALID_SELECTED_MAX_PACKET_SIZE,
833 receiver->GetReceiverError()); 806 receiver->GetReceiverError());
834 } 807 }
835 808
836 // TODO(http://crbug.com/651246) this test is flaky.
837 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 809 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
838 DISABLED_UnrecognizedReasonForCloseInConnectionCloseTest) { 810 UnrecognizedReasonForCloseInConnectionCloseTest) {
839 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 811 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
840 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 812 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
841 ReceiverType::CLIENT); 813 ReceiverType::CLIENT);
842 814
843 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 815 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
844 kByteWeaveVersion, kEmptyUpperByte, 816 kByteWeaveVersion, kEmptyUpperByte,
845 kByteDefaultMaxPacketSize}; 817 kByteDefaultMaxPacketSize};
846 receiver->ReceivePacket(p0); 818 receiver->ReceivePacket(p0);
847 EXPECT_EQ(State::WAITING, receiver->GetState()); 819 EXPECT_EQ(State::WAITING, receiver->GetState());
848 820
849 const uint8_t kInvalidReasonForClose = 5; 821 const uint8_t kInvalidReasonForClose = 5;
850 // uWeave Header: 822 // uWeave Header:
851 // 1--- ---- : type = 1 (control packet) 823 // 1--- ---- : type = 1 (control packet)
852 // -001 ---- : counter = 1 824 // -001 ---- : counter = 1
853 // ---- 0010 : command = 2 (close) 825 // ---- 0010 : command = 2 (close)
854 // 1001 0010 = 0x92 826 // 1001 0010 = 0x92
855 std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kInvalidReasonForClose}; 827 std::vector<uint8_t> p1{0x92, kEmptyUpperByte, kInvalidReasonForClose};
856 receiver->ReceivePacket(p1); 828 receiver->ReceivePacket(p1);
857 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 829 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
858 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 830 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
859 EXPECT_EQ(ReceiverError::UNRECOGNIZED_REASON_FOR_CLOSE, 831 EXPECT_EQ(ReceiverError::UNRECOGNIZED_REASON_FOR_CLOSE,
860 receiver->GetReceiverError()); 832 receiver->GetReceiverError());
861 } 833 }
862 834
863 // TODO(http://crbug.com/651246) this test is flaky.
864 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 835 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
865 DISABLED_UnrecognizedControlCommandBitTwoTest) { 836 UnrecognizedControlCommandBitTwoTest) {
866 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 837 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
867 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 838 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
868 ReceiverType::SERVER); 839 ReceiverType::SERVER);
869 840
870 // uWeave Header: 841 // uWeave Header:
871 // 1--- ---- : type = 1 (control packet) 842 // 1--- ---- : type = 1 (control packet)
872 // -000 ---- : counter = 0 843 // -000 ---- : counter = 0
873 // ---- 0100 : command = 4 (INVALID) 844 // ---- 0100 : command = 4 (INVALID)
874 // 1000 0100 = 0x84 845 // 1000 0100 = 0x84
875 std::vector<uint8_t> p0{0x84, 846 std::vector<uint8_t> p0{0x84,
876 kEmptyUpperByte, 847 kEmptyUpperByte,
877 kByteWeaveVersion, 848 kByteWeaveVersion,
878 kEmptyUpperByte, 849 kEmptyUpperByte,
879 kByteWeaveVersion, 850 kByteWeaveVersion,
880 kEmptyUpperByte, 851 kEmptyUpperByte,
881 kByteSelectMaxPacketSize}; 852 kByteSelectMaxPacketSize};
882 receiver->ReceivePacket(p0); 853 receiver->ReceivePacket(p0);
883 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 854 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
884 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 855 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
885 EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND, 856 EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND,
886 receiver->GetReceiverError()); 857 receiver->GetReceiverError());
887 } 858 }
888 859
889 // TODO(http://crbug.com/651246) this test is flaky.
890 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 860 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
891 DISABLED_InvalidControlCommandBitThreeTest) { 861 InvalidControlCommandBitThreeTest) {
892 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 862 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
893 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 863 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
894 ReceiverType::CLIENT); 864 ReceiverType::CLIENT);
895 865
896 // uWeave Header: 866 // uWeave Header:
897 // 1--- ---- : type = 1 (control packet) 867 // 1--- ---- : type = 1 (control packet)
898 // -000 ---- : counter = 0 868 // -000 ---- : counter = 0
899 // ---- 1000 : command = 8 (INVALID) 869 // ---- 1000 : command = 8 (INVALID)
900 // 1000 1000 = 0x88 870 // 1000 1000 = 0x88
901 std::vector<uint8_t> p0{0x88, kEmptyUpperByte, kByteWeaveVersion, 871 std::vector<uint8_t> p0{0x88, kEmptyUpperByte, kByteWeaveVersion,
902 kEmptyUpperByte, kByteDefaultMaxPacketSize}; 872 kEmptyUpperByte, kByteDefaultMaxPacketSize};
903 receiver->ReceivePacket(p0); 873 receiver->ReceivePacket(p0);
904 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 874 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
905 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 875 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
906 EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND, 876 EXPECT_EQ(ReceiverError::UNRECOGNIZED_CONTROL_COMMAND,
907 receiver->GetReceiverError()); 877 receiver->GetReceiverError());
908 } 878 }
909 879
910 // TODO(http://crbug.com/651246) this test is flaky.
911 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 880 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
912 DISABLED_InvalidBitOneInDataPacketHeaderTest) { 881 InvalidBitOneInDataPacketHeaderTest) {
913 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 882 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
914 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 883 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
915 ReceiverType::CLIENT); 884 ReceiverType::CLIENT);
916 885
917 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 886 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
918 kByteWeaveVersion, kEmptyUpperByte, 887 kByteWeaveVersion, kEmptyUpperByte,
919 kByteDefaultMaxPacketSize}; 888 kByteDefaultMaxPacketSize};
920 receiver->ReceivePacket(p0); 889 receiver->ReceivePacket(p0);
921 EXPECT_EQ(State::WAITING, receiver->GetState()); 890 EXPECT_EQ(State::WAITING, receiver->GetState());
922 891
923 // uWeave Header: 892 // uWeave Header:
924 // 0--- ---- : type = 0 (data packet) 893 // 0--- ---- : type = 0 (data packet)
925 // -001 ---- : counter = 1 894 // -001 ---- : counter = 1
926 // ---- 1--- : first packet = true 895 // ---- 1--- : first packet = true
927 // ---- -1-- : last packet = true 896 // ---- -1-- : last packet = true
928 // ---- --10 : defined by uWeave to be 0, but bit 1 is not 897 // ---- --10 : defined by uWeave to be 0, but bit 1 is not
929 // 0001 1110 = 0x1E 898 // 0001 1110 = 0x1E
930 std::vector<uint8_t> p1{0x1E, 'a'}; 899 std::vector<uint8_t> p1{0x1E, 'a'};
931 receiver->ReceivePacket(p1); 900 receiver->ReceivePacket(p1);
932 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 901 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
933 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 902 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
934 EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED, 903 EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED,
935 receiver->GetReceiverError()); 904 receiver->GetReceiverError());
936 } 905 }
937 906
938 // TODO(http://crbug.com/651246) this test is flaky.
939 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 907 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
940 DISABLED_InvalidBitZeroInDataPacketHeaderTest) { 908 InvalidBitZeroInDataPacketHeaderTest) {
941 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 909 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
942 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 910 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
943 ReceiverType::CLIENT); 911 ReceiverType::CLIENT);
944 912
945 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte, 913 std::vector<uint8_t> p0{kControlResponseHeader, kEmptyUpperByte,
946 kByteWeaveVersion, kEmptyUpperByte, 914 kByteWeaveVersion, kEmptyUpperByte,
947 kByteDefaultMaxPacketSize}; 915 kByteDefaultMaxPacketSize};
948 receiver->ReceivePacket(p0); 916 receiver->ReceivePacket(p0);
949 EXPECT_EQ(State::WAITING, receiver->GetState()); 917 EXPECT_EQ(State::WAITING, receiver->GetState());
950 918
951 // uWeave Header: 919 // uWeave Header:
952 // 0--- ---- : type = 0 (data packet) 920 // 0--- ---- : type = 0 (data packet)
953 // -001 ---- : counter = 1 921 // -001 ---- : counter = 1
954 // ---- 1--- : first packet = true 922 // ---- 1--- : first packet = true
955 // ---- -1-- : last packet = true 923 // ---- -1-- : last packet = true
956 // ---- --01 : defined by uWeave to be 0, but bit 0 is not 924 // ---- --01 : defined by uWeave to be 0, but bit 0 is not
957 // 0001 1101 = 0x1D 925 // 0001 1101 = 0x1D
958 std::vector<uint8_t> p1{0x1D, 'a'}; 926 std::vector<uint8_t> p1{0x1D, 'a'};
959 receiver->ReceivePacket(p1); 927 receiver->ReceivePacket(p1);
960 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 928 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
961 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 929 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
962 EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED, 930 EXPECT_EQ(ReceiverError::DATA_HEADER_LOW_BITS_NOT_CLEARED,
963 receiver->GetReceiverError()); 931 receiver->GetReceiverError());
964 } 932 }
965 933
966 // TODO(http://crbug.com/651246) this test is flaky.
967 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 934 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
968 DISABLED_ReceivedPacketInErrorState) { 935 ReceivedPacketInErrorState) {
969 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 936 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
970 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 937 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
971 ReceiverType::CLIENT); 938 ReceiverType::CLIENT);
972 939
973 std::vector<uint8_t> p0; 940 std::vector<uint8_t> p0;
974 receiver->ReceivePacket(p0); 941 receiver->ReceivePacket(p0);
975 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 942 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
976 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 943 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
977 944
978 std::vector<uint8_t> p1{kControlResponseHeader, kEmptyUpperByte, 945 std::vector<uint8_t> p1{kControlResponseHeader, kEmptyUpperByte,
979 kByteWeaveVersion, kEmptyUpperByte, 946 kByteWeaveVersion, kEmptyUpperByte,
980 kByteSelectMaxPacketSize}; 947 kByteSelectMaxPacketSize};
981 receiver->ReceivePacket(p1); 948 receiver->ReceivePacket(p1);
982 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 949 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
983 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 950 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
984 EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError()); 951 EXPECT_EQ(ReceiverError::EMPTY_PACKET, receiver->GetReceiverError());
985 } 952 }
986 953
987 // TODO(http://crbug.com/651246) this test is flaky.
988 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 954 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
989 DISABLED_ReceivedPacketInConnectionClosedStateTest) { 955 ReceivedPacketInConnectionClosedStateTest) {
990 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 956 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
991 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 957 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
992 ReceiverType::SERVER); 958 ReceiverType::SERVER);
993 959
994 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 960 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
995 kByteWeaveVersion, kEmptyUpperByte, 961 kByteWeaveVersion, kEmptyUpperByte,
996 kByteWeaveVersion, kEmptyUpperByte, 962 kByteWeaveVersion, kEmptyUpperByte,
997 kByteSelectMaxPacketSize}; 963 kByteSelectMaxPacketSize};
998 receiver->ReceivePacket(p0); 964 receiver->ReceivePacket(p0);
999 EXPECT_EQ(State::WAITING, receiver->GetState()); 965 EXPECT_EQ(State::WAITING, receiver->GetState());
(...skipping 16 matching lines...) Expand all
1016 // ---- --00 : defined by uWeave to be 0 982 // ---- --00 : defined by uWeave to be 0
1017 // 0010 1100 = 0x2C 983 // 0010 1100 = 0x2C
1018 std::vector<uint8_t> p2{0x2C, 'a'}; 984 std::vector<uint8_t> p2{0x2C, 'a'};
1019 receiver->ReceivePacket(p2); 985 receiver->ReceivePacket(p2);
1020 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 986 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
1021 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 987 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
1022 EXPECT_EQ(ReceiverError::RECEIVED_PACKET_IN_CONNECTION_CLOSED, 988 EXPECT_EQ(ReceiverError::RECEIVED_PACKET_IN_CONNECTION_CLOSED,
1023 receiver->GetReceiverError()); 989 receiver->GetReceiverError());
1024 } 990 }
1025 991
1026 // TODO(http://crbug.com/651246) this test is flaky.
1027 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest, 992 TEST_F(ProximityAuthBluetoothLowEnergyWeavePacketReceiverTest,
1028 DISABLED_MultipleControlPacketTest) { 993 MultipleControlPacketTest) {
1029 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver = 994 std::unique_ptr<BluetoothLowEnergyWeavePacketReceiver> receiver =
1030 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance( 995 BluetoothLowEnergyWeavePacketReceiver::Factory::NewInstance(
1031 ReceiverType::SERVER); 996 ReceiverType::SERVER);
1032 997
1033 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte, 998 std::vector<uint8_t> p0{kControlRequestHeader, kEmptyUpperByte,
1034 kByteWeaveVersion, kEmptyUpperByte, 999 kByteWeaveVersion, kEmptyUpperByte,
1035 kByteWeaveVersion, kEmptyUpperByte, 1000 kByteWeaveVersion, kEmptyUpperByte,
1036 kByteSelectMaxPacketSize}; 1001 kByteSelectMaxPacketSize};
1037 receiver->ReceivePacket(p0); 1002 receiver->ReceivePacket(p0);
1038 EXPECT_EQ(State::WAITING, receiver->GetState()); 1003 EXPECT_EQ(State::WAITING, receiver->GetState());
(...skipping 13 matching lines...) Expand all
1052 receiver->ReceivePacket(p1); 1017 receiver->ReceivePacket(p1);
1053 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState()); 1018 EXPECT_EQ(State::ERROR_DETECTED, receiver->GetState());
1054 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose()); 1019 EXPECT_EQ(ReasonForClose::UNKNOWN_ERROR, receiver->GetReasonToClose());
1055 EXPECT_EQ(ReceiverError::INVALID_CONTROL_COMMAND_IN_DATA_TRANSACTION, 1020 EXPECT_EQ(ReceiverError::INVALID_CONTROL_COMMAND_IN_DATA_TRANSACTION,
1056 receiver->GetReceiverError()); 1021 receiver->GetReceiverError());
1057 } 1022 }
1058 1023
1059 } // namespace weave 1024 } // namespace weave
1060 1025
1061 } // namespace proximity_auth 1026 } // namespace proximity_auth
OLDNEW
« no previous file with comments | « components/proximity_auth/ble/bluetooth_low_energy_weave_packet_generator_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698