blob: 65c9c74774d6258a1ade3e925dd71661f578e986 [file] [log] [blame]
# Copyright 2012 The ChromiumOS Authors
# 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 = "ChromeOS Team"
NAME = "firmware_UpdateFirmwareDataKeyVersion"
METADATA = {
"contacts": ["chromeos-faft@google.com", "jbettis@chromium.org"],
"bug_component": "b:792402", # ChromeOS > Platform > Enablement > Firmware > FAFT
"criteria": "Servo based firmware update test which check firmware datakey version.",
"requirements": ["sys-fw-0021-v01", "sys-fw-0024-v01", "sys-fw-0025-v01"],
}
ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_lv5"
DEPENDENCIES = "servo_state:WORKING, servo_usb_state:NORMAL"
TIME = "SHORT"
TEST_TYPE = "server"
JOB_RETRIES = 0
DOC = """
This test requires a USB test image plugged in. The firmware id
should matches fwid of shellball chromeos-firmwareupdate, or user can
provide a shellball to do this test. In this way, the client will be update
with the given shellball first. On runtime, this test modifies shellball
and runs autoupdate. Check firmware datakey version after boot with
firmware B, and then recover firmware A and B to original shellball.
"""
args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
def run_updatefirmwaredatakeyversion(machine):
host = hosts.create_host(machine, servo_args=servo_args)
job.run_test("firmware_UpdateFirmwareDataKeyVersion",
host=host, cmdline_args=args,
disable_sysinfo=True)
parallel_simple(run_updatefirmwaredatakeyversion, machines)