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

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

Issue 1472223002: Review comments from https://codereview.chromium.org/1415573014/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 4 years, 9 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 4146 matching lines...) Expand 10 before | Expand all | Expand 10 after
4157 BluetoothAudioSink::Options audio_sink_options; 4157 BluetoothAudioSink::Options audio_sink_options;
4158 adapter_->RegisterAudioSink( 4158 adapter_->RegisterAudioSink(
4159 audio_sink_options, 4159 audio_sink_options,
4160 base::Bind(&BluetoothBlueZTest::AudioSinkAcquiredCallback, 4160 base::Bind(&BluetoothBlueZTest::AudioSinkAcquiredCallback,
4161 base::Unretained(this)), 4161 base::Unretained(this)),
4162 base::Bind(&BluetoothBlueZTest::AudioSinkErrorCallback, 4162 base::Bind(&BluetoothBlueZTest::AudioSinkErrorCallback,
4163 base::Unretained(this))); 4163 base::Unretained(this)));
4164 EXPECT_EQ(0, callback_count_); 4164 EXPECT_EQ(0, callback_count_);
4165 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error"; 4165 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error";
4166 4166
4167 BluetoothAdapterBlueZ* adapter_chrome_os = 4167 BluetoothAdapterBlueZ* adapter_bluez =
4168 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); 4168 static_cast<BluetoothAdapterBlueZ*>(adapter_.get());
4169 EXPECT_EQ(nullptr, 4169 EXPECT_EQ(nullptr, adapter_bluez->GetDeviceWithPath(dbus::ObjectPath("")));
4170 adapter_chrome_os->GetDeviceWithPath(dbus::ObjectPath("")));
4171 4170
4172 // Notify methods presume objects exist that are owned by the adapter and 4171 // Notify methods presume objects exist that are owned by the adapter and
4173 // destroyed in Shutdown(). Mocks are not attempted here that won't exist, 4172 // destroyed in Shutdown(). Mocks are not attempted here that won't exist,
4174 // as verified below by EXPECT_EQ(0U, adapter_->GetDevices().size()); 4173 // as verified below by EXPECT_EQ(0U, adapter_->GetDevices().size());
4175 // NotifyDeviceChanged 4174 // NotifyDeviceChanged
4176 // NotifyGattServiceAdded 4175 // NotifyGattServiceAdded
4177 // NotifyGattServiceRemoved 4176 // NotifyGattServiceRemoved
4178 // NotifyGattServiceChanged 4177 // NotifyGattServiceChanged
4179 // NotifyGattDiscoveryComplete 4178 // NotifyGattDiscoveryComplete
4180 // NotifyGattCharacteristicAdded 4179 // NotifyGattCharacteristicAdded
4181 // NotifyGattCharacteristicRemoved 4180 // NotifyGattCharacteristicRemoved
4182 // NotifyGattDescriptorAdded 4181 // NotifyGattDescriptorAdded
4183 // NotifyGattDescriptorRemoved 4182 // NotifyGattDescriptorRemoved
4184 // NotifyGattCharacteristicValueChanged 4183 // NotifyGattCharacteristicValueChanged
4185 // NotifyGattDescriptorValueChanged 4184 // NotifyGattDescriptorValueChanged
4186 4185
4187 EXPECT_EQ(dbus::ObjectPath(""), adapter_chrome_os->object_path()); 4186 EXPECT_EQ(dbus::ObjectPath(""), adapter_bluez->object_path());
4188 4187
4189 adapter_profile_ = nullptr; 4188 adapter_profile_ = nullptr;
4190 4189
4191 FakeBluetoothProfileServiceProviderDelegate profile_delegate; 4190 FakeBluetoothProfileServiceProviderDelegate profile_delegate;
4192 adapter_chrome_os->UseProfile( 4191 adapter_bluez->UseProfile(
4193 BluetoothUUID(), dbus::ObjectPath(""), 4192 BluetoothUUID(), dbus::ObjectPath(""),
4194 bluez::BluetoothProfileManagerClient::Options(), &profile_delegate, 4193 bluez::BluetoothProfileManagerClient::Options(), &profile_delegate,
4195 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback, 4194 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback,
4196 base::Unretained(this)), 4195 base::Unretained(this)),
4197 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback, 4196 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback,
4198 base::Unretained(this))); 4197 base::Unretained(this)));
4199 4198
4200 EXPECT_FALSE(adapter_profile_) << "UseProfile error"; 4199 EXPECT_FALSE(adapter_profile_) << "UseProfile error";
4201 EXPECT_EQ(0, callback_count_) << "UseProfile error"; 4200 EXPECT_EQ(0, callback_count_) << "UseProfile error";
4202 EXPECT_EQ(1, error_callback_count_--) << "UseProfile error"; 4201 EXPECT_EQ(1, error_callback_count_--) << "UseProfile error";
4203 4202
4204 // Protected and private methods: 4203 // Protected and private methods:
4205 4204
4206 adapter_chrome_os->RemovePairingDelegateInternal(&pairing_delegate); 4205 adapter_bluez->RemovePairingDelegateInternal(&pairing_delegate);
4207 // AdapterAdded() invalid post Shutdown because it calls SetAdapter. 4206 // AdapterAdded() invalid post Shutdown because it calls SetAdapter.
4208 adapter_chrome_os->AdapterRemoved(dbus::ObjectPath("x")); 4207 adapter_bluez->AdapterRemoved(dbus::ObjectPath("x"));
4209 adapter_chrome_os->AdapterPropertyChanged(dbus::ObjectPath("x"), ""); 4208 adapter_bluez->AdapterPropertyChanged(dbus::ObjectPath("x"), "");
4210 adapter_chrome_os->DeviceAdded(dbus::ObjectPath("")); 4209 adapter_bluez->DeviceAdded(dbus::ObjectPath(""));
4211 adapter_chrome_os->DeviceRemoved(dbus::ObjectPath("")); 4210 adapter_bluez->DeviceRemoved(dbus::ObjectPath(""));
4212 adapter_chrome_os->DevicePropertyChanged(dbus::ObjectPath(""), ""); 4211 adapter_bluez->DevicePropertyChanged(dbus::ObjectPath(""), "");
4213 adapter_chrome_os->InputPropertyChanged(dbus::ObjectPath(""), ""); 4212 adapter_bluez->InputPropertyChanged(dbus::ObjectPath(""), "");
4214 // bluez::BluetoothAgentServiceProvider::Delegate omitted, dbus will be 4213 // bluez::BluetoothAgentServiceProvider::Delegate omitted, dbus will be
4215 // shutdown, 4214 // shutdown,
4216 // with the exception of Released. 4215 // with the exception of Released.
4217 adapter_chrome_os->Released(); 4216 adapter_bluez->Released();
4218 4217
4219 adapter_chrome_os->OnRegisterAgent(); 4218 adapter_bluez->OnRegisterAgent();
4220 adapter_chrome_os->OnRegisterAgentError("", ""); 4219 adapter_bluez->OnRegisterAgentError("", "");
4221 adapter_chrome_os->OnRequestDefaultAgent(); 4220 adapter_bluez->OnRequestDefaultAgent();
4222 adapter_chrome_os->OnRequestDefaultAgentError("", ""); 4221 adapter_bluez->OnRequestDefaultAgentError("", "");
4223 4222
4224 adapter_chrome_os->OnRegisterAudioSink( 4223 adapter_bluez->OnRegisterAudioSink(
4225 base::Bind(&BluetoothBlueZTest::AudioSinkAcquiredCallback, 4224 base::Bind(&BluetoothBlueZTest::AudioSinkAcquiredCallback,
4226 base::Unretained(this)), 4225 base::Unretained(this)),
4227 base::Bind(&BluetoothBlueZTest::AudioSinkErrorCallback, 4226 base::Bind(&BluetoothBlueZTest::AudioSinkErrorCallback,
4228 base::Unretained(this)), 4227 base::Unretained(this)),
4229 scoped_refptr<device::BluetoothAudioSink>()); 4228 scoped_refptr<device::BluetoothAudioSink>());
4230 EXPECT_EQ(0, callback_count_); 4229 EXPECT_EQ(0, callback_count_);
4231 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error"; 4230 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error";
4232 4231
4233 // GetPairing will DCHECK after Shutdown(). 4232 // GetPairing will DCHECK after Shutdown().
4234 // SetAdapter will DCHECK after Shutdown(). 4233 // SetAdapter will DCHECK after Shutdown().
4235 // SetDefaultAdapterName will DCHECK after Shutdown(). 4234 // SetDefaultAdapterName will DCHECK after Shutdown().
4236 // RemoveAdapter will DCHECK after Shutdown(). 4235 // RemoveAdapter will DCHECK after Shutdown().
4237 adapter_chrome_os->PoweredChanged(false); 4236 adapter_bluez->PoweredChanged(false);
4238 adapter_chrome_os->DiscoverableChanged(false); 4237 adapter_bluez->DiscoverableChanged(false);
4239 adapter_chrome_os->DiscoveringChanged(false); 4238 adapter_bluez->DiscoveringChanged(false);
4240 adapter_chrome_os->PresentChanged(false); 4239 adapter_bluez->PresentChanged(false);
4241 4240
4242 adapter_chrome_os->OnSetDiscoverable(GetCallback(), GetErrorCallback(), true); 4241 adapter_bluez->OnSetDiscoverable(GetCallback(), GetErrorCallback(), true);
4243 EXPECT_EQ(0, callback_count_) << "OnSetDiscoverable error"; 4242 EXPECT_EQ(0, callback_count_) << "OnSetDiscoverable error";
4244 EXPECT_EQ(1, error_callback_count_--) << "OnSetDiscoverable error"; 4243 EXPECT_EQ(1, error_callback_count_--) << "OnSetDiscoverable error";
4245 4244
4246 adapter_chrome_os->OnPropertyChangeCompleted(GetCallback(), 4245 adapter_bluez->OnPropertyChangeCompleted(GetCallback(), GetErrorCallback(),
4247 GetErrorCallback(), true); 4246 true);
4248 EXPECT_EQ(0, callback_count_) << "OnPropertyChangeCompleted error"; 4247 EXPECT_EQ(0, callback_count_) << "OnPropertyChangeCompleted error";
4249 EXPECT_EQ(1, error_callback_count_--) << "OnPropertyChangeCompleted error"; 4248 EXPECT_EQ(1, error_callback_count_--) << "OnPropertyChangeCompleted error";
4250 4249
4251 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4250 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4252 GetDiscoveryErrorCallback()); 4251 GetDiscoveryErrorCallback());
4253 EXPECT_EQ(0, callback_count_) << "AddDiscoverySession error"; 4252 EXPECT_EQ(0, callback_count_) << "AddDiscoverySession error";
4254 EXPECT_EQ(1, error_callback_count_--) << "AddDiscoverySession error"; 4253 EXPECT_EQ(1, error_callback_count_--) << "AddDiscoverySession error";
4255 4254
4256 adapter_chrome_os->RemoveDiscoverySession(nullptr, GetCallback(), 4255 adapter_bluez->RemoveDiscoverySession(nullptr, GetCallback(),
4257 GetDiscoveryErrorCallback()); 4256 GetDiscoveryErrorCallback());
4258 EXPECT_EQ(0, callback_count_) << "RemoveDiscoverySession error"; 4257 EXPECT_EQ(0, callback_count_) << "RemoveDiscoverySession error";
4259 EXPECT_EQ(1, error_callback_count_--) << "RemoveDiscoverySession error"; 4258 EXPECT_EQ(1, error_callback_count_--) << "RemoveDiscoverySession error";
4260 4259
4261 // OnStartDiscovery tested in Shutdown_OnStartDiscovery 4260 // OnStartDiscovery tested in Shutdown_OnStartDiscovery
4262 // OnStartDiscoveryError tested in Shutdown_OnStartDiscoveryError 4261 // OnStartDiscoveryError tested in Shutdown_OnStartDiscoveryError
4263 // OnStopDiscovery tested in Shutdown_OnStopDiscovery 4262 // OnStopDiscovery tested in Shutdown_OnStopDiscovery
4264 // OnStopDiscoveryError tested in Shutdown_OnStopDiscoveryError 4263 // OnStopDiscoveryError tested in Shutdown_OnStopDiscoveryError
4265 4264
4266 adapter_profile_ = nullptr; 4265 adapter_profile_ = nullptr;
4267 4266
4268 // OnRegisterProfile SetProfileDelegate, OnRegisterProfileError, require 4267 // OnRegisterProfile SetProfileDelegate, OnRegisterProfileError, require
4269 // UseProfile to be set first, do so again here just before calling them. 4268 // UseProfile to be set first, do so again here just before calling them.
4270 adapter_chrome_os->UseProfile( 4269 adapter_bluez->UseProfile(
4271 BluetoothUUID(), dbus::ObjectPath(""), 4270 BluetoothUUID(), dbus::ObjectPath(""),
4272 bluez::BluetoothProfileManagerClient::Options(), &profile_delegate, 4271 bluez::BluetoothProfileManagerClient::Options(), &profile_delegate,
4273 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback, 4272 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback,
4274 base::Unretained(this)), 4273 base::Unretained(this)),
4275 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback, 4274 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback,
4276 base::Unretained(this))); 4275 base::Unretained(this)));
4277 4276
4278 EXPECT_FALSE(adapter_profile_) << "UseProfile error"; 4277 EXPECT_FALSE(adapter_profile_) << "UseProfile error";
4279 EXPECT_EQ(0, callback_count_) << "UseProfile error"; 4278 EXPECT_EQ(0, callback_count_) << "UseProfile error";
4280 EXPECT_EQ(1, error_callback_count_--) << "UseProfile error"; 4279 EXPECT_EQ(1, error_callback_count_--) << "UseProfile error";
4281 4280
4282 adapter_chrome_os->SetProfileDelegate( 4281 adapter_bluez->SetProfileDelegate(
4283 BluetoothUUID(), dbus::ObjectPath(""), &profile_delegate, 4282 BluetoothUUID(), dbus::ObjectPath(""), &profile_delegate,
4284 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback, 4283 base::Bind(&BluetoothBlueZTest::ProfileRegisteredCallback,
4285 base::Unretained(this)), 4284 base::Unretained(this)),
4286 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback, 4285 base::Bind(&BluetoothBlueZTest::ErrorCompletionCallback,
4287 base::Unretained(this))); 4286 base::Unretained(this)));
4288 EXPECT_EQ(0, callback_count_) << "SetProfileDelegate error"; 4287 EXPECT_EQ(0, callback_count_) << "SetProfileDelegate error";
4289 EXPECT_EQ(1, error_callback_count_--) << "SetProfileDelegate error"; 4288 EXPECT_EQ(1, error_callback_count_--) << "SetProfileDelegate error";
4290 4289
4291 adapter_chrome_os->OnRegisterProfileError(BluetoothUUID(), "", ""); 4290 adapter_bluez->OnRegisterProfileError(BluetoothUUID(), "", "");
4292 EXPECT_EQ(0, callback_count_) << "OnRegisterProfileError error"; 4291 EXPECT_EQ(0, callback_count_) << "OnRegisterProfileError error";
4293 EXPECT_EQ(0, error_callback_count_) << "OnRegisterProfileError error"; 4292 EXPECT_EQ(0, error_callback_count_) << "OnRegisterProfileError error";
4294 4293
4295 adapter_chrome_os->ProcessQueuedDiscoveryRequests(); 4294 adapter_bluez->ProcessQueuedDiscoveryRequests();
4296 4295
4297 // From BluetoothAdapater: 4296 // From BluetoothAdapater:
4298 4297
4299 adapter_->StartDiscoverySession( 4298 adapter_->StartDiscoverySession(
4300 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, 4299 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback,
4301 base::Unretained(this)), 4300 base::Unretained(this)),
4302 GetErrorCallback()); 4301 GetErrorCallback());
4303 EXPECT_EQ(0, callback_count_) << "StartDiscoverySession error"; 4302 EXPECT_EQ(0, callback_count_) << "StartDiscoverySession error";
4304 EXPECT_EQ(1, error_callback_count_--) << "StartDiscoverySession error"; 4303 EXPECT_EQ(1, error_callback_count_--) << "StartDiscoverySession error";
4305 4304
4306 EXPECT_EQ(0U, adapter_->GetDevices().size()); 4305 EXPECT_EQ(0U, adapter_->GetDevices().size());
4307 EXPECT_EQ(nullptr, 4306 EXPECT_EQ(nullptr,
4308 adapter_->GetDevice( 4307 adapter_->GetDevice(
4309 bluez::FakeBluetoothDeviceClient::kPairedDeviceAddress)); 4308 bluez::FakeBluetoothDeviceClient::kPairedDeviceAddress));
4310 TestPairingDelegate pairing_delegate2; 4309 TestPairingDelegate pairing_delegate2;
4311 adapter_->AddPairingDelegate( 4310 adapter_->AddPairingDelegate(
4312 &pairing_delegate2, BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); 4311 &pairing_delegate2, BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH);
4313 adapter_->RemovePairingDelegate(&pairing_delegate2); 4312 adapter_->RemovePairingDelegate(&pairing_delegate2);
4314 } 4313 }
4315 4314
4316 // Verifies post-Shutdown of discovery sessions and OnStartDiscovery. 4315 // Verifies post-Shutdown of discovery sessions and OnStartDiscovery.
4317 TEST_F(BluetoothBlueZTest, Shutdown_OnStartDiscovery) { 4316 TEST_F(BluetoothBlueZTest, Shutdown_OnStartDiscovery) {
4318 const int kNumberOfDiscoverySessions = 10; 4317 const int kNumberOfDiscoverySessions = 10;
4319 GetAdapter(); 4318 GetAdapter();
4320 BluetoothAdapterBlueZ* adapter_chrome_os = 4319 BluetoothAdapterBlueZ* adapter_bluez =
4321 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); 4320 static_cast<BluetoothAdapterBlueZ*>(adapter_.get());
4322 4321
4323 for (int i = 0; i < kNumberOfDiscoverySessions; i++) { 4322 for (int i = 0; i < kNumberOfDiscoverySessions; i++) {
4324 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4323 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4325 GetDiscoveryErrorCallback()); 4324 GetDiscoveryErrorCallback());
4326 } 4325 }
4327 adapter_->Shutdown(); 4326 adapter_->Shutdown();
4328 adapter_chrome_os->OnStartDiscovery(GetCallback(), 4327 adapter_bluez->OnStartDiscovery(GetCallback(), GetDiscoveryErrorCallback());
4329 GetDiscoveryErrorCallback());
4330 4328
4331 EXPECT_EQ(0, callback_count_); 4329 EXPECT_EQ(0, callback_count_);
4332 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_); 4330 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_);
4333 } 4331 }
4334 4332
4335 // Verifies post-Shutdown of discovery sessions and OnStartDiscoveryError. 4333 // Verifies post-Shutdown of discovery sessions and OnStartDiscoveryError.
4336 TEST_F(BluetoothBlueZTest, Shutdown_OnStartDiscoveryError) { 4334 TEST_F(BluetoothBlueZTest, Shutdown_OnStartDiscoveryError) {
4337 const int kNumberOfDiscoverySessions = 10; 4335 const int kNumberOfDiscoverySessions = 10;
4338 GetAdapter(); 4336 GetAdapter();
4339 BluetoothAdapterBlueZ* adapter_chrome_os = 4337 BluetoothAdapterBlueZ* adapter_bluez =
4340 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); 4338 static_cast<BluetoothAdapterBlueZ*>(adapter_.get());
4341 4339
4342 for (int i = 0; i < kNumberOfDiscoverySessions; i++) { 4340 for (int i = 0; i < kNumberOfDiscoverySessions; i++) {
4343 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4341 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4344 GetDiscoveryErrorCallback()); 4342 GetDiscoveryErrorCallback());
4345 } 4343 }
4346 adapter_->Shutdown(); 4344 adapter_->Shutdown();
4347 adapter_chrome_os->OnStartDiscoveryError(GetCallback(), 4345 adapter_bluez->OnStartDiscoveryError(GetCallback(),
4348 GetDiscoveryErrorCallback(), "", ""); 4346 GetDiscoveryErrorCallback(), "", "");
4349 4347
4350 EXPECT_EQ(0, callback_count_); 4348 EXPECT_EQ(0, callback_count_);
4351 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_); 4349 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_);
4352 } 4350 }
4353 4351
4354 // Verifies post-Shutdown of discovery sessions and OnStartDiscovery. 4352 // Verifies post-Shutdown of discovery sessions and OnStartDiscovery.
4355 TEST_F(BluetoothBlueZTest, Shutdown_OnStopDiscovery) { 4353 TEST_F(BluetoothBlueZTest, Shutdown_OnStopDiscovery) {
4356 const int kNumberOfDiscoverySessions = 10; 4354 const int kNumberOfDiscoverySessions = 10;
4357 GetAdapter(); 4355 GetAdapter();
4358 BluetoothAdapterBlueZ* adapter_chrome_os = 4356 BluetoothAdapterBlueZ* adapter_bluez =
4359 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); 4357 static_cast<BluetoothAdapterBlueZ*>(adapter_.get());
4360 4358
4361 // In order to queue up discovery sessions before an OnStopDiscovery call 4359 // In order to queue up discovery sessions before an OnStopDiscovery call
4362 // RemoveDiscoverySession must be called, so Add, Start, and Remove: 4360 // RemoveDiscoverySession must be called, so Add, Start, and Remove:
4363 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4361 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4364 GetDiscoveryErrorCallback()); 4362 GetDiscoveryErrorCallback());
4365 adapter_chrome_os->OnStartDiscovery(GetCallback(), 4363 adapter_bluez->OnStartDiscovery(GetCallback(), GetDiscoveryErrorCallback());
4366 GetDiscoveryErrorCallback()); 4364 adapter_bluez->RemoveDiscoverySession(nullptr, GetCallback(),
4367 adapter_chrome_os->RemoveDiscoverySession(nullptr, GetCallback(), 4365 GetDiscoveryErrorCallback());
4368 GetDiscoveryErrorCallback());
4369 callback_count_ = 0; 4366 callback_count_ = 0;
4370 error_callback_count_ = 0; 4367 error_callback_count_ = 0;
4371 // Can now queue discovery sessions while waiting for OnStopDiscovery. 4368 // Can now queue discovery sessions while waiting for OnStopDiscovery.
4372 for (int i = 0; i < kNumberOfDiscoverySessions; i++) { 4369 for (int i = 0; i < kNumberOfDiscoverySessions; i++) {
4373 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4370 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4374 GetDiscoveryErrorCallback()); 4371 GetDiscoveryErrorCallback());
4375 } 4372 }
4376 adapter_->Shutdown(); 4373 adapter_->Shutdown();
4377 adapter_chrome_os->OnStopDiscovery(GetCallback()); 4374 adapter_bluez->OnStopDiscovery(GetCallback());
4378 4375
4379 // 1 successful stopped discovery from RemoveDiscoverySession, and 4376 // 1 successful stopped discovery from RemoveDiscoverySession, and
4380 // kNumberOfDiscoverySessions errors from AddDiscoverySession/OnStopDiscovery. 4377 // kNumberOfDiscoverySessions errors from AddDiscoverySession/OnStopDiscovery.
4381 EXPECT_EQ(1, callback_count_); 4378 EXPECT_EQ(1, callback_count_);
4382 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_); 4379 EXPECT_EQ(kNumberOfDiscoverySessions, error_callback_count_);
4383 } 4380 }
4384 4381
4385 // Verifies post-Shutdown of discovery sessions and OnStopDiscoveryError. 4382 // Verifies post-Shutdown of discovery sessions and OnStopDiscoveryError.
4386 TEST_F(BluetoothBlueZTest, Shutdown_OnStopDiscoveryError) { 4383 TEST_F(BluetoothBlueZTest, Shutdown_OnStopDiscoveryError) {
4387 const int kNumberOfDiscoverySessions = 10; 4384 const int kNumberOfDiscoverySessions = 10;
4388 GetAdapter(); 4385 GetAdapter();
4389 BluetoothAdapterBlueZ* adapter_chrome_os = 4386 BluetoothAdapterBlueZ* adapter_bluez =
4390 static_cast<BluetoothAdapterBlueZ*>(adapter_.get()); 4387 static_cast<BluetoothAdapterBlueZ*>(adapter_.get());
4391 4388
4392 // In order to queue up discovery sessions before an OnStopDiscoveryError call 4389 // In order to queue up discovery sessions before an OnStopDiscoveryError call
4393 // RemoveDiscoverySession must be called, so Add, Start, and Remove: 4390 // RemoveDiscoverySession must be called, so Add, Start, and Remove:
4394 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4391 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4395 GetDiscoveryErrorCallback()); 4392 GetDiscoveryErrorCallback());
4396 adapter_chrome_os->OnStartDiscovery(GetCallback(), 4393 adapter_bluez->OnStartDiscovery(GetCallback(), GetDiscoveryErrorCallback());
4397 GetDiscoveryErrorCallback()); 4394 adapter_bluez->RemoveDiscoverySession(nullptr, GetCallback(),
4398 adapter_chrome_os->RemoveDiscoverySession(nullptr, GetCallback(), 4395 GetDiscoveryErrorCallback());
4399 GetDiscoveryErrorCallback());
4400 callback_count_ = 0; 4396 callback_count_ = 0;
4401 error_callback_count_ = 0; 4397 error_callback_count_ = 0;
4402 // Can now queue discovery sessions while waiting for OnStopDiscoveryError. 4398 // Can now queue discovery sessions while waiting for OnStopDiscoveryError.
4403 for (int i = 0; i < kNumberOfDiscoverySessions; i++) { 4399 for (int i = 0; i < kNumberOfDiscoverySessions; i++) {
4404 adapter_chrome_os->AddDiscoverySession(nullptr, GetCallback(), 4400 adapter_bluez->AddDiscoverySession(nullptr, GetCallback(),
4405 GetDiscoveryErrorCallback()); 4401 GetDiscoveryErrorCallback());
4406 } 4402 }
4407 adapter_->Shutdown(); 4403 adapter_->Shutdown();
4408 adapter_chrome_os->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", ""); 4404 adapter_bluez->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", "");
4409 4405
4410 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, 4406 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError,
4411 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. 4407 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession.
4412 EXPECT_EQ(0, callback_count_); 4408 EXPECT_EQ(0, callback_count_);
4413 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); 4409 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_);
4414 } 4410 }
4415 4411
4416 } // namespace bluez 4412 } // namespace bluez
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth_advertisement_bluez.h ('k') | device/bluetooth/bluetooth_gatt_connection_bluez.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698