# 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.

AUTHOR = "Chrome OS Team"
NAME = "firmware_CompareChipFwToShellBall"
PURPOSE = "Compare the chip firmware versions to those in the shellball"
CRITERIA = "This test will pass if installed and available firmware match."
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test compares the installed chip firmware versions to those in the
shallball.  If they no not match, it will fail.
"""

from autotest_lib.client.common_lib import utils

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

def run_compare_chip(machine):
    # Setup the client machine.
    host = hosts.create_host(machine, servo_args=servo_args)
    job.run_test('firmware_CompareChipFwToShellBall',
                 host=host, cmdline_args=args)


parallel_simple(run_compare_chip, machines)
