# Copyright 2018 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 = "allenwebb"
NAME = "firmware_Cr50PinWeaverServer"
METADATA = {
        "contacts": ["chromeos-faft@google.com", "allenwebb@chromium.org"],
        "bug_component": "b:792402", # ChromeOS > Platform > Enablement > Firmware > FAFT
        "criteria": "Validate PinWeaver functionality on Cr50"
}
ATTRIBUTES = "suite:faft_gsc_nightly, suite:experimental, suite:faft_cr50_pvt, suite:faft_cr50_prepvt"
TIME = "SHORT"
TEST_TYPE = "server"

DOC = """
Check that PinWeaver functionality on Cr50 works as intended across hard
reboots of Cr50. A server test is needed because when Cr50 reboots the
device needs to restart.

If the device doesn't have Cr50, the test returns success without
resetting the machine.
"""

args_dict = utils.args_to_dict(args)

def run(machine):
    host = hosts.create_host(machine)
    job.run_test("firmware_Cr50PinWeaverServer", host=host, cmdline_args=args)

parallel_simple(run, machines)
