| # Copyright 2015 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. |
| |
| import common |
| from autotest_lib.client.common_lib import error |
| from autotest_lib.server import test |
| |
| |
| class brillo_FastbootTest(test.test): |
| """Verify that a Brillo device can reboot into / out of fastboot.""" |
| version = 1 |
| |
| def run_once(self, host=None): |
| """Runs the test. |
| |
| @param host: A host object representing the DUT. |
| |
| @raise TestError: Something went wrong while trying to execute the test. |
| @raise TestFail: The test failed. |
| """ |
| # Make sure we're in ADB mode. |
| if not host.is_up(): |
| raise error.TestError('Device is not in ADB mode') |
| |
| # Switch to fastboot (implies a reboot). |
| try: |
| host.ensure_bootloader_mode() |
| except error.AutoservError as e: |
| raise error.TestFail( |
| 'Failed to reboot the device into fastboot: %s' % e) |
| |
| # Now reboot back into ADB. |
| try: |
| host.ensure_adb_mode() |
| except error.AutoservError as e: |
| raise error.TestFail( |
| 'Failed to reboot the device back to ADB: %s' % e) |