# Copyright (c) 2010 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 = "KernelCrashServer"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "logging"
TEST_TYPE = "server"

DOC = """
Test that kernel space crashes (really just unclean shutdowns) are
detected and handled appropriately.
"""

# This must be a server side file because it expects the kernel
# has been recently reset - specifically it assumes the kernel
# has been reset since it was last run.

client = hosts.create_host(machines[0])
client_at = autotest.Autotest(client)
client.reboot()
client_at.run_test('logging_UncleanShutdown')
