# Copyright (c) 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 = "louiscollard,apronin"
NAME = "firmware_Cr50U2fCommands"
PURPOSE = "Test U2F functionality in cr50"
ATTRIBUTES = "suite:faft_cr50_pvt, suite:faft_cr50_prepvt"
TIME = "SHORT"
TEST_TYPE = "server"
DEPENDENCIES = "servo_state:WORKING"

DOC = """
Tests basic key generation and signing U2F commands.
"""

args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)

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

parallel_simple(run_test, machines)
