Home | History | Annotate | Download | only in brillo_FastbootTest
      1 # Copyright 2015 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import common
      6 from autotest_lib.client.common_lib import error
      7 from autotest_lib.server import test
      8 
      9 
     10 class brillo_FastbootTest(test.test):
     11     """Verify that a Brillo device can reboot into / out of fastboot."""
     12     version = 1
     13 
     14     def run_once(self, host=None):
     15         """Runs the test.
     16 
     17         @param host: A host object representing the DUT.
     18 
     19         @raise TestError: Something went wrong while trying to execute the test.
     20         @raise TestFail: The test failed.
     21         """
     22         # Make sure we're in ADB mode.
     23         if not host.is_up():
     24             raise error.TestError('Device is not in ADB mode')
     25 
     26         # Switch to fastboot (implies a reboot).
     27         try:
     28             host.ensure_bootloader_mode()
     29         except error.AutoservError as e:
     30             raise error.TestFail(
     31                     'Failed to reboot the device into fastboot: %s' % e)
     32 
     33         # Now reboot back into ADB.
     34         try:
     35             host.ensure_adb_mode()
     36         except error.AutoservError as e:
     37             raise error.TestFail(
     38                     'Failed to reboot the device back to ADB: %s' % e)
     39