# Copyright 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 = "mruthven" NAME = "firmware_Cr50TpmManufactured" PURPOSE = "Check if the TPM is manufactured." ATTRIBUTES = "suite:faft_cr50_prepvt, suite:faft_cr50_pvt" TIME = "SHORT" TEST_TYPE = "server" DEPENDENCIES = "servo_state:WORKING" DOC = """Check if the TPM is manufactured. Cr50 will manufacture the TPM if the manufacturing space is ok. If we reset the TPM and it isn't manufactured, then it's likely the manufacturing space is corrupted. Corrupted manufacturing space can cause all sorts of weird issues. This test can be used to find bad boards and possibly find issues with Cr50 images. Most of the time this issue is caused by bad DBG images, so it can highlight those issues, but the test is mainly to make sure there aren't broken boards in the lab. """ if 'args_dict' not in locals(): args_dict = {} args_dict.update(utils.args_to_dict(args)) servo_args = hosts.CrosHost.get_servo_arguments(args_dict) def run(machine): host = hosts.create_host(machine, servo_args=servo_args) iterations = int(args_dict.get("iterations", 1)) job.run_test("firmware_Cr50TpmManufactured", host=host, cmdline_args=args, full_args=args_dict, iterations=iterations) parallel_simple(run, machines)