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

Side by Side Diff: device/bluetooth/bluetooth_adapter_unittest.cc

Issue 1610053005: bluetooth: android: Fix a couple of crashes when adapter is turned on/off. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed issue with failing trybot Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "device/bluetooth/bluetooth_adapter.h" 5 #include "device/bluetooth/bluetooth_adapter.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 EXPECT_TRUE(discovery_sessions_[0]->IsActive()); 470 EXPECT_TRUE(discovery_sessions_[0]->IsActive());
471 471
472 ResetEventCounts(); 472 ResetEventCounts();
473 discovery_sessions_[0]->Stop(GetCallback(Call::EXPECTED), 473 discovery_sessions_[0]->Stop(GetCallback(Call::EXPECTED),
474 GetErrorCallback(Call::NOT_EXPECTED)); 474 GetErrorCallback(Call::NOT_EXPECTED));
475 EXPECT_FALSE(adapter_->IsDiscovering()); 475 EXPECT_FALSE(adapter_->IsDiscovering());
476 EXPECT_FALSE(discovery_sessions_[0]->IsActive()); 476 EXPECT_FALSE(discovery_sessions_[0]->IsActive());
477 } 477 }
478 #endif // defined(OS_ANDROID) 478 #endif // defined(OS_ANDROID)
479 479
480 // Android only: this test is specific for Android and should not be
481 // enabled for other platforms.
482 #if defined(OS_ANDROID)
483 TEST_F(BluetoothTest, AdapterIllegalStateBeforeStartScan) {
484 if (!PlatformSupportsLowEnergy()) {
485 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
486 return;
487 }
488 InitWithFakeAdapter();
489 ForceIllegalStateException();
490 StartLowEnergyDiscoverySessionExpectedToFail();
491 EXPECT_EQ(0, callback_count_);
492 EXPECT_EQ(1, error_callback_count_);
493 EXPECT_FALSE(adapter_->IsDiscovering());
494 }
495 #endif // defined(OS_ANDROID)
496
497 // Android only: this test is specific for Android and should not be
498 // enabled for other platforms.
499 #if defined(OS_ANDROID)
500 TEST_F(BluetoothTest, AdapterIllegalStateBeforeStopScan) {
501 if (!PlatformSupportsLowEnergy()) {
502 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
503 return;
504 }
505 InitWithFakeAdapter();
506 StartLowEnergyDiscoverySession();
507 EXPECT_EQ(1, callback_count_);
508 EXPECT_EQ(0, error_callback_count_);
509 EXPECT_TRUE(adapter_->IsDiscovering());
510 ForceIllegalStateException();
511 discovery_sessions_[0]->Stop(GetCallback(Call::EXPECTED),
512 GetErrorCallback(Call::NOT_EXPECTED));
513 EXPECT_FALSE(adapter_->IsDiscovering());
514 }
515 #endif // defined(OS_ANDROID)
516
480 #if defined(OS_ANDROID) || defined(OS_MACOSX) 517 #if defined(OS_ANDROID) || defined(OS_MACOSX)
481 // Checks that discovery fails (instead of hanging) when permissions are denied. 518 // Checks that discovery fails (instead of hanging) when permissions are denied.
482 TEST_F(BluetoothTest, NoPermissions) { 519 TEST_F(BluetoothTest, NoPermissions) {
483 if (!PlatformSupportsLowEnergy()) { 520 if (!PlatformSupportsLowEnergy()) {
484 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; 521 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
485 return; 522 return;
486 } 523 }
487 InitWithFakeAdapter(); 524 InitWithFakeAdapter();
488 TestBluetoothAdapterObserver observer(adapter_); 525 TestBluetoothAdapterObserver observer(adapter_);
489 526
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 644
608 // Start discovery and find a device. 645 // Start discovery and find a device.
609 StartLowEnergyDiscoverySession(); 646 StartLowEnergyDiscoverySession();
610 DiscoverLowEnergyDevice(1); 647 DiscoverLowEnergyDevice(1);
611 DiscoverLowEnergyDevice(4); 648 DiscoverLowEnergyDevice(4);
612 EXPECT_EQ(2, observer.device_added_count()); 649 EXPECT_EQ(2, observer.device_added_count());
613 EXPECT_EQ(2u, adapter_->GetDevices().size()); 650 EXPECT_EQ(2u, adapter_->GetDevices().size());
614 } 651 }
615 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) 652 #endif // defined(OS_ANDROID) || defined(OS_MACOSX)
616 653
654 #if defined(OS_ANDROID)
655 TEST_F(BluetoothTest, TogglePowerFakeAdapter) {
656 InitWithFakeAdapter();
657 ASSERT_TRUE(adapter_->IsPresent());
658 ASSERT_TRUE(adapter_->IsPowered());
659
660 // Check if power can be turned off.
661 adapter_->SetPowered(false, GetCallback(Call::EXPECTED),
662 GetErrorCallback(Call::NOT_EXPECTED));
663 EXPECT_FALSE(adapter_->IsPowered());
664
665 // Check if power can be turned on again.
666 adapter_->SetPowered(true, GetCallback(Call::EXPECTED),
667 GetErrorCallback(Call::NOT_EXPECTED));
668 EXPECT_TRUE(adapter_->IsPowered());
669 }
670 #endif // defined(OS_ANDROID)
671
672 #if defined(OS_ANDROID)
673 TEST_F(BluetoothTest, TogglePowerBeforeScan) {
674 InitWithFakeAdapter();
675 ASSERT_TRUE(adapter_->IsPresent());
676 ASSERT_TRUE(adapter_->IsPowered());
677
678 // Turn off adapter.
679 adapter_->SetPowered(false, GetCallback(Call::EXPECTED),
680 GetErrorCallback(Call::NOT_EXPECTED));
681 ASSERT_FALSE(adapter_->IsPowered());
682
683 // Try to perform a scan.
684 StartLowEnergyDiscoverySessionExpectedToFail();
685
686 // Turn on adapter.
687 adapter_->SetPowered(true, GetCallback(Call::EXPECTED),
688 GetErrorCallback(Call::NOT_EXPECTED));
689 ASSERT_TRUE(adapter_->IsPowered());
690
691 // Try to perform a scan again.
692 ResetEventCounts();
693 StartLowEnergyDiscoverySession();
694 EXPECT_EQ(1, callback_count_);
695 EXPECT_EQ(0, error_callback_count_);
696 EXPECT_TRUE(adapter_->IsDiscovering());
697 ASSERT_EQ((size_t)1, discovery_sessions_.size());
698 EXPECT_TRUE(discovery_sessions_[0]->IsActive());
699 }
700 #endif // defined(OS_ANDROID)
701
617 } // namespace device 702 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698