Commit ecbedc8c authored by Vasiliy Telezhnikov's avatar Vasiliy Telezhnikov Committed by Commit Bot

Fixed races in BluetoothLowEnergyApiTest

This CL fixes races in BluetoothLowEnergyApiTest tests:
ServiceEvents, GetRemovedService, DescriptorValueChanged that cause
flaking in browser_tests

Bug: 992460
Change-Id: I634ea6da0264e72697fa23c24ee98e701cb592f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1749707Reviewed-by: default avatarGiovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686379}
parent 19d45475
...@@ -321,6 +321,7 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) { ...@@ -321,6 +321,7 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) {
ExtensionTestMessageListener listener(true); ExtensionTestMessageListener listener(true);
ASSERT_TRUE(LoadExtension( ASSERT_TRUE(LoadExtension(
test_data_dir_.AppendASCII("bluetooth_low_energy/service_events"))); test_data_dir_.AppendASCII("bluetooth_low_energy/service_events")));
EXPECT_TRUE(listener.WaitUntilSatisfied());
// These will create the identifier mappings. // These will create the identifier mappings.
event_router()->GattServiceAdded( event_router()->GattServiceAdded(
...@@ -341,7 +342,6 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) { ...@@ -341,7 +342,6 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) {
event_router()->GattServiceRemoved( event_router()->GattServiceRemoved(
mock_adapter_, device0_.get(), service0_.get()); mock_adapter_, device0_.get(), service0_.get());
EXPECT_TRUE(listener.WaitUntilSatisfied());
ASSERT_EQ("ready", listener.message()) << listener.message(); ASSERT_EQ("ready", listener.message()) << listener.message();
listener.Reply("go"); listener.Reply("go");
...@@ -366,12 +366,13 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { ...@@ -366,12 +366,13 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) {
.Times(1) .Times(1)
.WillOnce(Return(service0_.get())); .WillOnce(Return(service0_.get()));
ExtensionTestMessageListener get_service_success_listener(false);
event_router()->GattServiceAdded( event_router()->GattServiceAdded(
mock_adapter_, device0_.get(), service0_.get()); mock_adapter_, device0_.get(), service0_.get());
event_router()->GattDiscoveryCompleteForService(mock_adapter_, event_router()->GattDiscoveryCompleteForService(mock_adapter_,
service0_.get()); service0_.get());
ExtensionTestMessageListener get_service_success_listener(false);
EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied()); EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied());
ASSERT_EQ("getServiceSuccess", get_service_success_listener.message()) ASSERT_EQ("getServiceSuccess", get_service_success_listener.message())
<< get_service_success_listener.message(); << get_service_success_listener.message();
...@@ -382,10 +383,11 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { ...@@ -382,10 +383,11 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) {
EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0);
EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0); EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0);
ExtensionTestMessageListener get_service_fail_listener(true);
event_router()->GattServiceRemoved( event_router()->GattServiceRemoved(
mock_adapter_, device0_.get(), service0_.get()); mock_adapter_, device0_.get(), service0_.get());
ExtensionTestMessageListener get_service_fail_listener(true);
EXPECT_TRUE(get_service_fail_listener.WaitUntilSatisfied()); EXPECT_TRUE(get_service_fail_listener.WaitUntilSatisfied());
ASSERT_EQ("getServiceFail", get_service_fail_listener.message()) ASSERT_EQ("getServiceFail", get_service_fail_listener.message())
<< get_service_fail_listener.message(); << get_service_fail_listener.message();
...@@ -931,6 +933,7 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { ...@@ -931,6 +933,7 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) {
ExtensionTestMessageListener listener("ready", true); ExtensionTestMessageListener listener("ready", true);
ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII(
"bluetooth_low_energy/descriptor_value_changed"))); "bluetooth_low_energy/descriptor_value_changed")));
EXPECT_TRUE(listener.WaitUntilSatisfied());
// Cause events to be sent to the extension. // Cause events to be sent to the extension.
std::vector<uint8_t> value; std::vector<uint8_t> value;
...@@ -939,7 +942,6 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { ...@@ -939,7 +942,6 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) {
event_router()->GattDescriptorValueChanged( event_router()->GattDescriptorValueChanged(
mock_adapter_, desc1_.get(), value); mock_adapter_, desc1_.get(), value);
EXPECT_TRUE(listener.WaitUntilSatisfied());
listener.Reply("go"); listener.Reply("go");
EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
......
...@@ -32,7 +32,9 @@ chrome.bluetoothLowEnergy.onServiceChanged.addListener(function (service) { ...@@ -32,7 +32,9 @@ chrome.bluetoothLowEnergy.onServiceChanged.addListener(function (service) {
chrome.bluetoothLowEnergy.onServiceRemoved.addListener(function (service) { chrome.bluetoothLowEnergy.onServiceRemoved.addListener(function (service) {
removedServices[service.instanceId] = service; removedServices[service.instanceId] = service;
chrome.test.sendMessage('ready', function(message) {
chrome.test.runTests([testServiceEvents]);
});
}); });
chrome.test.sendMessage('ready', function(message) {
chrome.test.runTests([testServiceEvents]);
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment