| # 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) |