bluetooth: Stop discovering in test_discover_device
test_discover_device is changed to automatically call stop_discovery so
callers don't need to call bluetooth_facade.stop_discovery or
test_stop_discovery.
BUG=b:158333537
TEST=Ran bluetooth_AdapterQuickSanity
Change-Id: I41d67554c3b39ad26281f8b1e0bb2a7e9f3e56e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2244291
Tested-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Commit-Queue: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Daniel Winkler <danielwinkler@google.com>
diff --git a/server/cros/bluetooth/bluetooth_adapter_better_together.py b/server/cros/bluetooth/bluetooth_adapter_better_together.py
index 31098f1..bec58ce 100644
--- a/server/cros/bluetooth/bluetooth_adapter_better_together.py
+++ b/server/cros/bluetooth/bluetooth_adapter_better_together.py
@@ -142,7 +142,6 @@
logging.debug("Test iteration %d", i)
self.test_set_discovery_filter(filter)
self.test_discover_device(address)
- self.test_stop_discovery()
self.test_set_le_connection_parameters(address, parameters)
self.test_pause_discovery()
@@ -257,4 +256,4 @@
logging.error("Failed to write message: %s", message_type)
return False
- return base64.standard_b64decode(ret_msg) == message
\ No newline at end of file
+ return base64.standard_b64decode(ret_msg) == message
diff --git a/server/cros/bluetooth/bluetooth_adapter_controller_role_tests.py b/server/cros/bluetooth/bluetooth_adapter_controller_role_tests.py
index c4abb0f..8c59ca8 100644
--- a/server/cros/bluetooth/bluetooth_adapter_controller_role_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_controller_role_tests.py
@@ -39,7 +39,6 @@
"""
self.test_discover_device(device.address)
- self.bluetooth_facade.stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
self.test_disconnection_by_adapter(device.address)
@@ -53,7 +52,6 @@
"""
logging.info('Setting up slave device')
self.test_discover_device(device.address)
- self.bluetooth_facade.stop_discovery()
self.test_pairing(device.address, device.pin, trusted=True)
time.sleep(self.TEST_SLEEP_SECS)
self.test_connection_by_adapter(device.address)
diff --git a/server/cros/bluetooth/bluetooth_adapter_pairing_tests.py b/server/cros/bluetooth/bluetooth_adapter_pairing_tests.py
index 1671b64..b20bb9a 100644
--- a/server/cros/bluetooth/bluetooth_adapter_pairing_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_pairing_tests.py
@@ -45,9 +45,6 @@
time.sleep(self.PAIR_TEST_SLEEP_SECS)
self.test_discover_device(device.address)
- # Test if the discovery could be stopped.
- self.test_stop_discovery()
-
# Test if the discovered device class of service is correct.
self.test_device_class_of_service(device.address,
device.class_of_service)
@@ -159,7 +156,6 @@
# self.bluetooth_facade.is_discovering() doesn't work as expected:
# crbug:905374
# self.test_stop_discovery()
- self.bluetooth_facade.stop_discovery()
time.sleep(self.PAIR_TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
time.sleep(self.PAIR_TEST_SLEEP_SECS)
@@ -204,7 +200,6 @@
# self.bluetooth_facade.is_discovering() doesn't work as expected:
# crbug:905374
# self.test_stop_discovery()
- self.bluetooth_facade.stop_discovery()
time.sleep(self.PAIR_TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
time.sleep(self.PAIR_TEST_SLEEP_SECS)
diff --git a/server/cros/bluetooth/bluetooth_adapter_tests.py b/server/cros/bluetooth/bluetooth_adapter_tests.py
index 4c4cd73..dfb4f83 100644
--- a/server/cros/bluetooth/bluetooth_adapter_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_tests.py
@@ -1526,16 +1526,21 @@
@test_retry_and_log(False)
- def test_discover_device(self, device_address):
+ def test_discover_device(self, device_address, stop_discovery=True):
"""Test that the adapter could discover the specified device address.
@param device_address: Address of the device.
+ @param stop_discovery: Whether to stop discovery at the end. If this is
+ set to False, make sure to call
+ test_stop_discovery afterwards.
@returns: True if the device is found. False otherwise.
"""
has_device_initially = False
start_discovery = False
+ discovery_stopped = False
+ is_not_discovering = False
device_discovered = False
has_device = self.bluetooth_facade.has_device
@@ -1561,12 +1566,27 @@
logging.error(err)
except:
logging.error('test_discover_device: unexpected error')
+ if start_discovery and stop_discovery:
+ discovery_stopped, _ = self.bluetooth_facade.stop_discovery()
+ is_not_discovering = self._wait_for_condition(
+ lambda: not self.bluetooth_facade.is_discovering(),
+ method_name())
self.results = {
'has_device_initially': has_device_initially,
'start_discovery': start_discovery,
+ 'should_stop_discovery': stop_discovery,
+ 'stop_discovery': discovery_stopped,
+ 'is_not_discovering': is_not_discovering,
'device_discovered': device_discovered}
- return has_device_initially or device_discovered
+
+ # Make sure a discovered device properly started and stopped discovery
+ device_found = device_discovered and start_discovery and (
+ discovery_stopped and is_not_discovering
+ if stop_discovery else True)
+
+ return has_device_initially or device_found
+
def _test_discover_by_device(self, device):
return device.Discover(self.bluetooth_facade.address)
diff --git a/server/site_tests/bluetooth_AdapterAUSanity/bluetooth_AdapterAUSanity.py b/server/site_tests/bluetooth_AdapterAUSanity/bluetooth_AdapterAUSanity.py
index 5d55440..7903ebf 100644
--- a/server/site_tests/bluetooth_AdapterAUSanity/bluetooth_AdapterAUSanity.py
+++ b/server/site_tests/bluetooth_AdapterAUSanity/bluetooth_AdapterAUSanity.py
@@ -33,7 +33,6 @@
self.initialize_bluetooth_audio(device, test_profile)
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
- self.test_stop_discovery()
self.test_pairing(device.address, device.pin, trusted=True)
device.SetTrustedByRemoteAddress(self.bluetooth_facade.address)
self.test_connection_by_adapter(device.address)
@@ -54,7 +53,6 @@
self.initialize_bluetooth_audio(device, test_profile)
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
- self.test_stop_discovery()
self.test_pairing(device.address, device.pin, trusted=True)
device.SetTrustedByRemoteAddress(self.bluetooth_facade.address)
self.test_connection_by_adapter(device.address)
diff --git a/server/site_tests/bluetooth_AdapterLESanity/bluetooth_AdapterLESanity.py b/server/site_tests/bluetooth_AdapterLESanity/bluetooth_AdapterLESanity.py
index 425ad67..56a18b0 100644
--- a/server/site_tests/bluetooth_AdapterLESanity/bluetooth_AdapterLESanity.py
+++ b/server/site_tests/bluetooth_AdapterLESanity/bluetooth_AdapterLESanity.py
@@ -64,10 +64,6 @@
device = self.devices['BLE_MOUSE'][0]
# Let the adapter pair, and connect to the target device.
self.test_discover_device(device.address)
- # self.bluetooth_facade.is_discovering() doesn't work as expected:
- # crbug:905374
- # self.test_stop_discovery()
- self.bluetooth_facade.stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
@@ -85,10 +81,6 @@
device = self.devices['BLE_KEYBOARD'][0]
# Let the adapter pair, and connect to the target device.
self.test_discover_device(device.address)
- # self.bluetooth_facade.is_discovering() doesn't work as expected:
- # crbug:905374
- # self.test_stop_discovery()
- self.bluetooth_facade.stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
@@ -116,7 +108,6 @@
device = self.devices['BLE_KEYBOARD'][0]
self.test_discover_device(device.address)
- self.bluetooth_facade.stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
self.test_service_resolved(device.address)
diff --git a/server/site_tests/bluetooth_AdapterMDSanity/bluetooth_AdapterMDSanity.py b/server/site_tests/bluetooth_AdapterMDSanity/bluetooth_AdapterMDSanity.py
index 146f002..02161f3 100644
--- a/server/site_tests/bluetooth_AdapterMDSanity/bluetooth_AdapterMDSanity.py
+++ b/server/site_tests/bluetooth_AdapterMDSanity/bluetooth_AdapterMDSanity.py
@@ -31,7 +31,6 @@
@param device: meta object for bt peer device
"""
self.test_discover_device(device.address)
- self.test_stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
time.sleep(self.TEST_SLEEP_SECS)
diff --git a/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py b/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
index 28d4733..1fbc0d1 100644
--- a/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
+++ b/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
@@ -156,7 +156,6 @@
self.initialize_bluetooth_audio(device, A2DP)
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
- self.test_stop_discovery()
self.test_pairing(device.address, device.pin, trusted=True)
device.SetTrustedByRemoteAddress(self.bluetooth_facade.address)
self.test_connection_by_adapter(device.address)
@@ -173,7 +172,6 @@
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
- self.test_stop_discovery()
time.sleep(self.TEST_SLEEP_SECS)
self.test_pairing(device.address, device.pin, trusted=True)
time.sleep(self.TEST_SLEEP_SECS)
diff --git a/server/site_tests/bluetooth_AdapterSRSanity/bluetooth_AdapterSRSanity.py b/server/site_tests/bluetooth_AdapterSRSanity/bluetooth_AdapterSRSanity.py
index c562a94..10759aa 100644
--- a/server/site_tests/bluetooth_AdapterSRSanity/bluetooth_AdapterSRSanity.py
+++ b/server/site_tests/bluetooth_AdapterSRSanity/bluetooth_AdapterSRSanity.py
@@ -49,7 +49,6 @@
""" Discovers and pairs given device. Automatically connects too."""
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
- self.bluetooth_facade.stop_discovery()
self.test_pairing(device.address, device.pin, trusted=True)
def _test_keyboard_with_string(self, device):