blob: 5bb7b797fb7ae19154088e2535668c6764b50a27 [file] [log] [blame]
# 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.faft_cr50_tot"
PURPOSE = "Check if the TPM is manufactured."
ATTRIBUTES = "suite:faft_cr50_tot"
TEST_TYPE = "server"
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.
This test is applicable when using ToT cr50 module.
TODO( Drop this control file once suites can inject test args.
if 'args_dict' not in locals():
args_dict = {}
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
# Inject test args.
args_dict['tot_test_run'] = 'true'
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)