| # Copyright (c) 2012 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. |
| |
| |
| """ The autotest performing FW update, both EC and AP.""" |
| |
| |
| import logging |
| |
| from autotest_lib.client.common_lib import error |
| from autotest_lib.server import test |
| |
| |
| class provision_FirmwareUpdate(test.test): |
| """A test that can provision a machine to the correct firmware version.""" |
| |
| version = 1 |
| |
| |
| def run_once(self, host, value, rw_only=False): |
| """The method called by the control file to start the test. |
| |
| @param host: a CrosHost object of the machine to update. |
| @param value: the provisioning value, which is the build version |
| to which we want to provision the machine, |
| e.g. 'link-firmware/R22-2695.1.144'. |
| @param rw_only: True to only update the RW firmware. |
| """ |
| try: |
| host.confirm_servo() |
| host.firmware_install(build=value, rw_only=rw_only) |
| except Exception as e: |
| logging.error(e) |
| raise error.TestFail(str(e)) |