# Copyright 2017 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 = "frankhu@chromium.org"
NAME = "enterprise_CFM_SiSFwUpdater"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "enterprise"
TEST_TYPE = "server"
JOB_RETRIES = 3
DEPENDENCIES = "mimo"

DOC = """
This test first flash the older version SiS firmware to the Mimo and then power
cycle the corresponding usb port. This should triger the udev rule to invoke
the SiS FW updater to flash the latest FW to Mimo. This is validated by running
the updater again and checking the log.
"""

args_dict = utils.args_to_dict(args)

def run_test(machine):
    host = hosts.create_host(machine, servo_args=None)
    job.run_test(NAME, host=host)

parallel_simple(run_test, machines)
