#!/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_utils.power import PowerWiFiBaseTest as PWBT from acts.test_utils.wifi import wifi_test_utils as wutils from acts.test_decorators import test_tracker_info class PowerWiFibaselineTest(PWBT.PowerWiFiBaseTest): """Power baseline tests for rockbottom state. Rockbottom for wifi on/off, screen on/off, everything else turned off """ def rockbottom_test_func(self): """Test function for baseline rockbottom tests. Decode the test config from the test name, set device to desired state. Measure power and validate results. """ attrs = ['screen_status', 'wifi_status'] indices = [3, 5] self.decode_test_configs(attrs, indices) if self.test_configs.wifi_status == 'ON': wutils.wifi_toggle_state(self.dut, True) if self.test_configs.screen_status == 'OFF': self.dut.droid.goToSleepNow() self.dut.log.info('Screen is OFF') self.measure_power_and_validate() # Test cases @test_tracker_info(uuid='e7ab71f4-1e14-40d2-baec-cde19a3ac859') def test_rockbottom_screen_OFF_wifi_OFF(self): self.rockbottom_test_func() @test_tracker_info(uuid='167c847d-448f-4c7c-900f-82c552d7d9bb') def test_rockbottom_screen_OFF_wifi_ON(self): self.rockbottom_test_func() @test_tracker_info(uuid='2cd25820-8548-4e60-b0e3-63727b3c952c') def test_rockbottom_screen_ON_wifi_OFF(self): self.rockbottom_test_func() @test_tracker_info(uuid='d7d90a1b-231a-47c7-8181-23814c8ff9b6') def test_rockbottom_screen_ON_wifi_ON(self): self.rockbottom_test_func()