# 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 lkdtm 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)
