blob: 0b72d3f06bf20efaf7880f2d07bdbf690ae4f102 [file] [log] [blame]
# Lint as: python2, python3
# Copyright 2019 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.
"""
Test which updates chameleond on the Bluetooth Peer device
This is not a test per se. This 'test' checks if the chameleond commit on the
Bluetooth peer device and updates it if it below the expected value.
The expected commit and the installation bundle is downloaded from google cloud
storage.
"""
from autotest_lib.client.common_lib import error
from autotest_lib.server import test
from autotest_lib.server.cros.bluetooth import bluetooth_peer_update
class bluetooth_PeerUpdate(test.test):
"""
This test updates chameleond on Bluetooth peer devices
"""
version = 1
def run_once(self, host, btpeer_args=[]):
""" Update Bluetooth peer device
@param host: the DUT, usually a chromebook
"""
try:
self.host = host
self.host.initialize_btpeer(btpeer_args=btpeer_args)
commit = None
(_, commit) = bluetooth_peer_update.get_latest_commit()
if commit is None:
raise error.TestFail('Unable to get current commit')
if not bluetooth_peer_update.download_installation_files(self.host,
commit):
raise error.TestFail('Unable to download installation files ')
bluetooth_peer_update.update_peers(self.host, commit)
finally:
if not bluetooth_peer_update.cleanup(host, commit):
raise error.TestFail('Cleanup failed')