1# Copyright 2017 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5from autotest_lib.server import utils 6 7AUTHOR = "ChromeOS Team" 8NAME = "firmware_ECUpdateId" 9PURPOSE = "Servo based EC test for updating EC ID for verifying EC EFS" 10CRITERIA = "This test will fail if EC EFS misbehaves" 11ATTRIBUTES = "suite:faft_ec, suite:faft_ec_fw_qual, suite:faft_ec_tot" 12TIME = "SHORT" 13TEST_CATEGORY = "Functional" 14TEST_CLASS = "firmware" 15TEST_TYPE = "server" 16JOB_RETRIES = 0 17DEPENDENCIES = "ec:cros, servo_state:WORKING" 18PY_VERSION = 3 19 20DOC = """ 21This test modifies the EC ID in AP firmware, reboots EC, and checks the next 22boot that software sync and EFS works as intended or not. It also corrupts 23one RW slot and checks if it is recovered. 24""" 25 26args_dict = utils.args_to_dict(args) 27servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 28 29def run_ecupdateid(machine): 30 host = hosts.create_host(machine, servo_args=servo_args) 31 job.run_test("firmware_ECUpdateId", host=host, cmdline_args=args, 32 disable_sysinfo=True, dev_mode=False, tag="normal") 33 34parallel_simple(run_ecupdateid, machines) 35