1# Copyright (c) 2016 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 = "Chrome OS Team" 8NAME = "firmware_TPMNotCorruptedDevMode" 9PURPOSE = "Ensure kernel and fw version in TPM isn't corrupted in dev mode." 10CRITERIA = "This test will fail if dev mode corrupts the kernel or fw version." 11ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_lv2" 12DEPENDENCIES = "servo_state:WORKING" 13TIME = "SHORT" 14TEST_CATEGORY = "Functional" 15TEST_CLASS = "firmware" 16TEST_TYPE = "server" 17 18 19DOC = """ 20This test requires a USB disk plugged-in, which contains a Chrome OS test 21image (built by "build_image test"). On runtime, this test first switches 22DUT to developer mode. It then checks the kernel and firmware version stored in 23the TPM. It then boots into normal mode and checks the kernel and firmware 24version in the TPM to ensure they weren't corrupted. 25""" 26 27args_dict = utils.args_to_dict(args) 28servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 29 30def run_tpm_not_corrupted_dev_mode(machine): 31 host = hosts.create_host(machine, servo_args=servo_args) 32 job.run_test("firmware_TPMNotCorruptedDevMode", host=host, cmdline_args=args, 33 disable_sysinfo=True, dev_mode=True, tag="dev") 34 35parallel_simple(run_tpm_not_corrupted_dev_mode, machines) 36