blob: 9a27b61b973e2b0a2e9a69c1496f53a4bd9b3018 [file] [log] [blame]
# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Flashes new RW firmware with a rollback ID of '1' and verifies that all
# rollback state is set correctly. Then attempts to flash RW firmware with
# rollback ID of '0' and verifies that the RO version of firmware is running
# (i.e., not running older version). Finally, flashes RW firmware with rollback
# ID of '9' and validates that the RW version of '9' is running.
from autotest_lib.server import utils
NAME = "firmware_Fingerprint.ObeysRollback"
METADATA = {
"contacts": ["chromeos-fingerprint@google.com"],
"bug_component": "b:782045",
"criteria": "Fails if the rollback minimum version is not updated or min rollback version does not prevent running an older version.",
}
ATTRIBUTES = "suite:fingerprint"
TEST_TYPE = "server"
DEPENDENCIES = "servo_state:WORKING, fingerprint"
HW_DEPS = ['biod']
JOB_RETRIES = 0
# This test uses futility and dev keys from autotest/files/server/cros/faft.
REQUIRE_SSP = True
test_images = [
"TEST_IMAGE_DEV_RB_ZERO",
"TEST_IMAGE_DEV_RB_ONE",
"TEST_IMAGE_DEV_RB_NINE",
]
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="obeys_rollback.sh",
test_exe_args=test_images,
use_dev_signed_fw=True,
tag="ObeysRollback",
)
parallel_simple(run, machines)