blob: 7ac363dc005e8d309750818b61c78c16ad3c4756 [file] [log] [blame]
Tom Wai-Hong Tam9cc6b352011-12-15 11:49:12 +08001# Copyright (c) 2011 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
5AUTHOR = "Chrome OS Team"
6NAME = "firmware_CorruptFwBodyAB"
7PURPOSE = "Servo based both firmware body A and B corruption test"
8CRITERIA = "This test will fail if firmware does not enter recovery mode"
Tom Wai-Hong Tamdf6df512012-09-12 16:16:43 +08009SUITE = "faft,faft_dev,faft_lv3"
Tom Wai-Hong Tam9cc6b352011-12-15 11:49:12 +080010TIME = "LONG"
11TEST_CATEGORY = "Functional"
12TEST_CLASS = "firmware"
13TEST_TYPE = "server"
14
15DOC = """
16This test corrupts both firmware body A and B and checks the next boot results.
17
18The expected behavior is different if the firmware preamble USE_RO_NORMAL
Tom Wai-Hong Tamd6760042012-08-09 16:02:36 +080019flag is enabled. In the case USE_RO_NORMAL ON, the firmware corruption
Tom Wai-Hong Tam9cc6b352011-12-15 11:49:12 +080020doesn't hurt the boot results since it boots the RO path directly and does
21not load and verify the RW firmware body. In the case USE_RO_NORMAL OFF,
22the firmware verification fails on loading RW firmware and enters recovery
23mode. In this case, it requires a USB disk plugged-in, which contains a
24Chrome OS test image (built by "build_image --test").
25"""
26
27def run_corruptbothfwbodyab(machine):
28 host = hosts.create_host(machine)
29 job.run_test("firmware_CorruptBothFwBodyAB", host=host, cmdline_args=args,
30 use_faft=True, disable_sysinfo=True,
31 dev_mode=True, tag="dev")
32
33parallel_simple(run_corruptbothfwbodyab, machines)