# 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 = "CoreBootStress Test"
TIME = "LONG"
TEST_CATEGORY = "Stress"
TEST_CLASS = "platform"
TEST_TYPE = "server"

DOC = """
This test runs suspend/resume, Boot the device and kernerl creash server tests
for a given number of iterations. This is useful for testing firmware.

Syntax:
run_remote_tests.sh --remote=$REMOTE -i <# of iterations>
                    control.coreboot.stress
"""
# Suspend/resume tests.
TESTS = [
  ('power_Resume', {}),
  ('hardware_SAT', {}),
  ('graphics_SanAngeles', {}),
]

# Boot test and kernel crash server tests.
def run_bootdevice(machine):
   host = hosts.create_host(machine)
   job.run_test("platform_BootDevice", host=host)
   job.run_test("logging_KernelCrashServer", host=host)

job.distribute_across_machines(TESTS, machines)
parallel_simple(run_bootdevice, machines)
