# Copyright (c) 2011 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.

AUTHOR = "Chrome OS Team"
NAME = "firmware_CorruptFwSigAB"
PURPOSE = "Servo based both firmware signature A and B corruption test"
CRITERIA = "This test will fail if firmware does not enter recovery mode"
SUITE = "faft,faft_normal,faft_lv3"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test requires a USB disk plugged-in, which contains a Chrome OS test
image (built by "build_image --test"). On runtime, this test corrupts
both firmware signature A and B. On next reboot, the firmware verification
fails and enters recovery mode. This test then checks the success of the
recovery boot.
"""

def run_corruptbothfwsigab(machine):
    host = hosts.create_host(machine)
    job.run_test("firmware_CorruptBothFwSigAB", host=host, cmdline_args=args,
                 use_faft=True, disable_sysinfo=True,
                 dev_mode=False, tag="normal")

parallel_simple(run_corruptbothfwsigab, machines)
