blob: f4fc6e92bebb11946449acca7d3d0ccdd9a4d765 [file] [log] [blame]
# Copyright (c) 2010 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.
from autotest_lib.server import utils
AUTHOR = "Chrome OS Team"
NAME = "firmware_ShellBall"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"
DOC = """
chromeos-firmwareupdate functional testing.
This script first copies shellball to DUT and runs all functional tests.
Syntax:
./test_that --board=<BOARD> <IP> -a "xml_config=<xml_config_file>
shellball_path=<shellball_directory> shellball_name=<shellball_name>
servo_serial=<serial number>" firmware_ShellBall/control
"""
from autotest_lib.client.common_lib import error
# Convert autoserv args to something usable.
opts = dict([[k, v] for (k, _, v) in [x.partition('=') for x in args]])
args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
def run_shellball(machine):
# Verify bios path arg.
if 'shellball_path' and 'shellball_name' not in opts:
raise error.TestFail('Invalid shellball information.')
# Setup the client machine.
host = hosts.create_host(machine, servo_args=servo_args)
job.run_test("firmware_ShellBall", host=host,
cmdline_args=args,
shellball_path=opts['shellball_path'],
shellball_name=opts['shellball_name'],
disable_sysinfo=True)
parallel_simple(run_shellball, machines)