58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from autotest_lib.server import test
|
|
from autotest_lib.server.cros import interactive_client
|
|
from autotest_lib.server.cros.bluetooth import bluetooth_device
|
|
from autotest_lib.server.cros.bluetooth import bluetooth_tester
|
|
|
|
|
|
class BluetoothTest(test.test):
|
|
"""Base class for Bluetooth tests.
|
|
|
|
BluetoothTest provides a common warmup() and cleanup() function for the
|
|
collection of Bluetooth tests that sets the following properties, depending
|
|
on the arguments to the test and properties of the test object:
|
|
|
|
self.device - BluetoothDevice object for the device being tested
|
|
self.tester - BluetoothTester object for the device's partner tester
|
|
self.interactive - InteractiveClient object for the device
|
|
|
|
The latter two may be None if the test is initialized from the control file
|
|
with the tester_host parameter as None and/or the interactive argument as
|
|
False.
|
|
|
|
It is not mandatory to use this base class for Bluetooth tests, it is for
|
|
convenience only. A test with special requirements, or a need to derive
|
|
from a different base class, may instantiate and clean-up the associated
|
|
objects on its own.
|
|
|
|
"""
|
|
|
|
def warmup(self, device_host, tester_host, interactive=False):
|
|
"""Initialize the test member objects based on its arguments."""
|
|
if interactive:
|
|
self.interactive = interactive_client.InteractiveClient(device_host)
|
|
else:
|
|
self.interactive = None
|
|
|
|
self.device = bluetooth_device.BluetoothDevice(device_host)
|
|
|
|
if tester_host:
|
|
self.tester = bluetooth_tester.BluetoothTester(tester_host)
|
|
else:
|
|
self.tester = None
|
|
|
|
|
|
def cleanup(self):
|
|
"""Close the test member objects."""
|
|
if self.interactive:
|
|
self.interactive.close()
|
|
self.device.copy_logs(self.outputdir)
|
|
self.device.close()
|
|
if self.tester:
|
|
self.tester.copy_logs(self.outputdir)
|
|
self.tester.close()
|
|
|
|
super(BluetoothTest, self).cleanup()
|