# 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_DevTriggerRecovery"
PURPOSE = "Servo based recovery boot triggered by pressing a key at dev screen"
CRITERIA = "This test will fail if firmware does not enter recovery mode"
SUITE = "faft,faft_normal,faft_lv2"
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 changes dev
switch and reboot. It then presses the enter key at dev warning screen to
trigger recovery boot and checks the success of it.
"""

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

parallel_simple(run_devtriggerrecovery, machines)
