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

NAME = "platform_KernelErrorPaths.ALL"
AUTHOR = "Chrome OS Team"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"

DOC = """
This test uses /proc/breakme to cause the machine to have various
serious failures (kernel panic, kernel bug, deadlock, etc.), and then
check to make sure that these failures were properly logged and had
appropritate consequences (reboot, logging, etc.).

Pass the kernel crashes as a comma-delimited string of crash types.
"""

def run_kernel_error_paths(machine):
    host = hosts.create_host(machine)
    job.run_test("platform_KernelErrorPaths", kcrashes="ALL", host=host)

parallel_simple(run_kernel_error_paths, machines)
