blob: e6237b65d13a14dcf41569a2643291e316e859dd [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_UpdateFirmwareVersion"
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 checks the firmware 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, suite:faft_smoke"
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
the current running firmware must matches the system shellball's, 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 the
firmware version of the shellball and runs autoupdate. Check firmware
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_updatefirmwareversion(machine):
host = hosts.create_host(machine, servo_args=servo_args)
job.run_test("firmware_UpdateFirmwareVersion", host=host, cmdline_args=args,
disable_sysinfo=True)
parallel_simple(run_updatefirmwareversion, machines)