# 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 = "louiscollard, apronin"
NAME = "firmware_Cr50VirtualNVRamServer"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"
ATTRIBUTES = "suite:faft_cr50_prepvt"
PY_VERSION = 3

DOC = """
This test clears the TPM if necessary, the runs a client side test that checks
Virtual NVRAM functionality in cr50. Finally, it clears the TPM again.
Every time the TPM is cleared, the system is rebooted.
"""

if 'args_dict' not in locals():
    args_dict = {}

args_dict.update(utils.args_to_dict(args))

def run_test(machine):
    host = hosts.create_host(machine)
    job.run_test('firmware_Cr50VirtualNVRamServer', host=host)

parallel_simple(run_test, machines)
