# 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.

from autotest_lib.server import utils

AUTHOR = "Chrome OS Team"
NAME = "firmware_ConsecutiveBootPowerButton"
PURPOSE = "Servo based consecutive boot test (100 iterations)"
CRITERIA = "This test will fail if DUT fails to boot from power-off"
ATTRIBUTES = "suite:faft_stress"
TIME = "LONG"
TEST_CATEGORY = "Stress"
TEST_CLASS = "firmware"
TEST_TYPE = "server"
DEPENDENCIES = "servo"

DOC = """
This test is intended to be run with many iterations to ensure that the DUT
does boot into Chrome OS and then does power off later.

Runs 100 boot iterations.
"""

args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)

args.append('faft_iterations=100')

def run_consecutive_boot(machine):
    host = hosts.create_host(machine, servo_args=servo_args)
    job.run_test("firmware_ConsecutiveBootPowerButton",
                 host=host, cmdline_args=args,
                 disable_sysinfo=True, dev_mode=False, tag="normal")

parallel_simple(run_consecutive_boot, machines)