blob: bcdd172ece46008ca3a3ca1df2f29b07e8195768 [file] [log] [blame]
# 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.
import logging
from autotest_lib.client.common_lib import error, utils
AUTHOR = "sbasi,"
NAME = "generic_RebootTest"
TEST_CATEGORY = "Functional"
TEST_CLASS = "Generic"
TEST_TYPE = "server"
DOC = """
This server side test checks if a host, specified through the command line,
can successfully reboot. It automatically detects the type of the host,
creates the appropriate host object, and calls reboot on the host object.
Example usage:
test_that generic_RebootTest <sonic/cros/beaglobonedevice ip> --board=<board>
A note about --board: <unless you're emerging sonic sources you
can just use a chromeos board here, as all we need is test_that
from the sysroot>.
Typically, for the case of an adb host, we can send adb commands to the
android device either through usb or tcp. If no device_hostname is specified
the adb commands are sent to the android device over usb, via the beaglebone,
whereas if the ip of the android device is specified through device_hostname
we'll send the adb commands over tcp.
args_dict = utils.args_to_dict(args)
def run_reboot_test(machine):
device_hostname = args_dict.get('device_hostname', None)
host = hosts.create_host(machine,
except error.AutoservError as e:
raise error.AutoservError(
'Failed to create host for %s: %s. If this is an android host that '
'requires a beaglebone jump host, you need to specify the device '
'hostname through test_that --args="device_hostname=<android ip>".'
% (machine, e))
job.run_test("generic_RebootTest", host=host, disable_sysinfo=True)
parallel_simple(run_reboot_test, machines)