blob: d99e3d89bac73ff6ca20394208b3d7d687559a62 [file] [log] [blame]
# Copyright 2019 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_Fingerprint.ROCanUpdateRW"
PURPOSE = """
Validates that the RO fingerprint firmware can update the RW firmware.
"""
CRITERIA = """
Fails if the RO fingerprint firmware cannot update the RW firmware.
"""
ATTRIBUTES = "suite:fingerprint"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"
DEPENDENCIES = "servo_state:WORKING, fingerprint"
JOB_RETRIES = 0
# This test uses futility and dev keys from autotest/files/server/cros/faft.
REQUIRE_SSP = True
DOC = """
Flashes RW firmware with a version string that ends in '.rb0'
(has rollback ID '0') and validates that it is running. Then flashes RW
firmware with version string that ends in '.dev' (also has rollback ID '0')
and validates that it is running.
"""
test_images = [ 'TEST_IMAGE_DEV', 'TEST_IMAGE_DEV_RB_ZERO' ]
args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
def run(machine):
host = hosts.create_host(machine, servo_args=servo_args)
job.run_test("firmware_Fingerprint", host=host,
test_exe="ro_can_update_rw.sh",
test_exe_args=test_images,
use_dev_signed_fw=True)
parallel_simple(run, machines)