# Copyright (c) 2012 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_CgptStress"
PURPOSE = "Servo based cgpt stress test"
CRITERIA = "This test will fail if changing cgpt fails to switch kernel"
SUITE = "faft,faft_dev,faft_stress"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test is intended to be run with many iterations to ensure that changing
cgpt does boot the correct kernel. One iteration of test modifies CGPT to
switch to boot kernel B and then switch back to kernel A again.
"""

def run_cgptstress(machine):
    host = hosts.create_host(machine)
    job.run_test("firmware_CgptStress", host=host, cmdline_args=args,
                 use_faft=True, disable_sysinfo=True,
                 dev_mode=True, tag="dev")

parallel_simple(run_cgptstress, machines)
