blob: db10575e72e749fdef313f9ea75ce1534659b965 [file] [log] [blame]
# Copyright 2018 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 = "mruthven"
NAME = "firmware_Cr50RMAOpen"
PURPOSE = "Verify RMA Open"
ATTRIBUTES = "suite:cr50_stress_experimental"
TEST_TYPE = "server"
DOC = """
Verify Cr50 RMA behavoior
Verify a couple of things:
- basic open from AP and command line
- Rate limiting
- Authcodes can't be reused once another challenge is generated.
- if the image is prod signed with mp flags, it isn't using test keys
Generate the challenge and calculate the response using rma_reset -c. Verify
open works and enables all of the ccd features.
If the generated challenge has the wrong version, make sure the challenge
generated with the test key fails.
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)
iterations = int(args_dict.get("iterations", 1))
ccd_lockout = args_dict.get("ccd_lockout", "").lower() == "true"
job.run_test("firmware_Cr50RMAOpen", host=host, cmdline_args=args,
iterations=iterations, ccd_lockout=ccd_lockout)
parallel_simple(run, machines)