#!/usr/bin/env python3.4 # # Copyright 2018 - The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from acts.test_decorators import test_tracker_info import acts.test_utils.power.PowerBTBaseTest as PBtBT class PowerBTbaselineTest(PBtBT.PowerBTBaseTest): def bt_baseline_test_func(self): """Base function for BT baseline measurement. Steps: 1. Sets the phone in airplane mode, disables gestures and location 2. Turns ON/OFF BT, BLE and screen according to test conditions 3. Measures the power consumption 4. Asserts pass/fail criteria based on measured power """ # Decode the test params from test name attrs = ['screen_status', 'bt_status', 'ble_status', 'scan_status'] indices = [2, 4, 6, 7] self.decode_test_configs(attrs, indices) # Setup the phoen at desired state self.phone_setup_for_BT(self.test_configs.bt_status, self.test_configs.ble_status, self.test_configs.screen_status) if self.test_configs.scan_status == 'connectable': self.dut.droid.bluetoothMakeConnectable() elif self.test_configs.scan_status == 'discoverable': self.dut.droid.bluetoothMakeDiscoverable( self.mon_info.duration + self.mon_info.offset) self.measure_power_and_validate() # Test cases- Baseline @test_tracker_info(uuid='3f8ac0cb-f20d-4569-a58e-6009c89ea049') def test_screen_OFF_bt_ON_ble_ON_connectable(self): self.bt_baseline_test_func() @test_tracker_info(uuid='d54a992e-37ed-460a-ada7-2c51941557fd') def test_screen_OFF_bt_ON_ble_ON_discoverable(self): self.bt_baseline_test_func() @test_tracker_info(uuid='8f4c36b5-b18e-4aa5-9fe5-aafb729c1034') def test_screen_ON_bt_ON_ble_ON_connectable(self): self.bt_baseline_test_func() @test_tracker_info(uuid='7128356f-67d8-46b3-9d6b-1a4c9a7a1745') def test_screen_ON_bt_ON_ble_ON_discoverable(self): self.bt_baseline_test_func()