blob: 070a6ad2a5d10139f6357b6e5969321cf7b1955d [file] [log] [blame]
# Copyright 2017 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.
AUTHOR = "chromeos-lab-infrastructure"
NAME = "provision_Cr50Update"
PURPOSE = "Provision a system to the correct firmware version."
TIME = "MEDIUM"
TEST_CATEGORY = "System"
TEST_CLASS = "provision"
TEST_TYPE = "Server"
DEPENDENCIES = "servo"
DOC = """
This is a test used by the provision control segment in autoserv to set the
cr50-version label of a host to the desired setting. This test attempts to
reprogram the cr50 firmware and set the cr50 chip board id using the given
params in value. value should a string with the
'prodsigned-rw_ver/image_bid/chip_bid' or 'selfsigned-build_info/chip_bid'.
build_info is something like 'reef-release/R61-9704.0.0'. For a prodsigned image
only the rw_ver is manditory. On selfsigned images only the build_info is
necessary. value is completely ignored if a valid release_path is given.
@param value: the release image information. Ignored if release_path is given
@param release_path: local path to release image
@param dev_path: local path to dev image
@param chip_bid: the desired cr50 chip board id string
"""
from autotest_lib.client.common_lib import error, utils
args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
release_path = ''
chip_bid = ''
if not locals().get('value'):
value = args_dict.get('value', '')
release_path = args_dict.get('release_path', '')
dev_path = args_dict.get('dev_path', '')
chip_bid_str = args_dict.get('chip_bid', '')
def run(machine):
host = hosts.create_host(machine, servo_args=servo_args)
job.run_test('provision_Cr50Update', host=host, cmdline_args=args,
value=value, release_path=release_path,
chip_bid_str=chip_bid_str)
job.parallel_simple(run, machines)