Home | History | Annotate | Download | only in bt
      1 #/usr/bin/env python3.4
      2 #
      3 # Copyright (C) 2016 The Android Open Source Project
      4 #
      5 # Licensed under the Apache License, Version 2.0 (the "License"); you may not
      6 # use this file except in compliance with the License. You may obtain a copy of
      7 # the License at
      8 #
      9 # http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 # Unless required by applicable law or agreed to in writing, software
     12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
     13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
     14 # License for the specific language governing permissions and limitations under
     15 # the License.
     16 """
     17 Test script to test BluetoothAdapter's resetFactory method.
     18 """
     19 from acts.test_decorators import test_tracker_info
     20 from acts.test_utils.bt.BluetoothBaseTest import BluetoothBaseTest
     21 from acts.test_utils.bt.bt_test_utils import pair_pri_to_sec
     22 
     23 
     24 class BtFactoryResetTest(BluetoothBaseTest):
     25     default_timeout = 10
     26     grace_timeout = 4
     27 
     28     def __init__(self, controllers):
     29         BluetoothBaseTest.__init__(self, controllers)
     30         self.pri_dut = self.android_devices[0]
     31         self.sec_dut = self.android_devices[1]
     32 
     33     @BluetoothBaseTest.bt_test_wrap
     34     @test_tracker_info(uuid='800bce6a-87ef-4fd1-82a5-4c60c4133be1')
     35     def test_factory_reset_bluetooth(self):
     36         """Test that BluetoothAdapter.factoryReset removes bonded devices
     37 
     38         After having bonded devices, call the factoryReset method
     39         in BluetoothAdapter to clear all bonded devices. Verify that
     40         no bonded devices exist after calling function.
     41 
     42         Steps:
     43         1. Two Android devices should bond successfully.
     44         2. Factory Reset Bluetooth on dut.
     45         3. Verify that there are no bonded devices on dut.
     46 
     47         Expected Result:
     48         BluetoothAdapter should not have any bonded devices.
     49 
     50         Returns:
     51           Pass if True
     52           Fail if False
     53 
     54         TAGS: Bluetooth, Factory Reset
     55         Priority: 2
     56         """
     57         if not pair_pri_to_sec(self.pri_dut, self.sec_dut, attempts=1):
     58             self.log.error("Failed to bond devices.")
     59             return False
     60         if not self.pri_dut.droid.bluetoothFactoryReset():
     61             self.log.error("BluetoothAdapter failed to factory reset.")
     62         self.log.info("Verifying There are no bonded devices.")
     63         if len(self.pri_dut.droid.bluetoothGetBondedDevices()) > 0:
     64             print(self.pri_dut.droid.bluetoothGetBondedDevices())
     65             self.log.error("Bonded devices still exist.")
     66             return False
     67         return True
     68