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

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

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