# 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 = "Chrome OS Team"
NAME = "firmware_ECUpdateId.dev"
PURPOSE = "Servo based EC test for updating EC ID for verifying EC EFS"
CRITERIA = "This test will fail if EC EFS misbehaves"
ATTRIBUTES = "suite:faft, suite:faft_ec, suite:faft_ec_au_1, suite:faft_ec_au_2, suite:faft_ec_au_3, suite:faft_ec_tot"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"
DEPENDENCIES = "ec:cros"
JOB_RETRIES = 4

DOC = """
This test modifies the EC ID in AP firmware, reboots EC, and checks the next
boot that software sync and EFS works as intended or not. It also corrupts
one RW slot and checks if it is recovered.
"""

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

def run_ecupdateid(machine):
    host = hosts.create_host(machine, servo_args=servo_args)
    job.run_test("firmware_ECUpdateId", host=host, cmdline_args=args,
                 disable_sysinfo=True, dev_mode=True, tag="dev")

parallel_simple(run_ecupdateid, machines)