# 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_RONormalBoot"
PURPOSE = "Servo based firmware RO normal boot test"
CRITERIA = "This test will fail if disabling RO normal boot flag boots failed"
SUITE = "faft,faft_normal,faft_lv3"
TIME = "LONG"
TEST_CATEGORY = "Functional"
TEST_CLASS = "firmware"
TEST_TYPE = "server"

DOC = """
This test disables the RO normal boot flag and checks the next boot result.
"""

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

parallel_simple(run_ronormalboot, machines)
