1#!/usr/bin/env python3 2# 3# Copyright (C) 2020 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of 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, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest 17 18 19class AbstractDeviceWlanDeviceBaseTest(WifiBaseTest): 20 def setup_class(self): 21 super().setup_class() 22 23 def on_fail(self, test_name, begin_time): 24 try: 25 self.dut.get_log(test_name, begin_time) 26 if (not hasattr(self.dut.device, "take_bug_report_on_fail") 27 or self.dut.device.take_bug_report_on_fail): 28 # Take a bug report if device does not have a take bug report flag, 29 # or if the flag is true 30 self.dut.take_bug_report(test_name, begin_time) 31 except Exception: 32 pass 33 34 try: 35 if self.dut.device.hard_reboot_on_fail: 36 self.dut.hard_power_cycle(self.pdu_devices) 37 except AttributeError: 38 pass 39