blob: fb7b89ec5a7c4c829464905f896d6e8f13f07e89 [file] [log] [blame]
# Copyright (c) 2009 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.client.bin.site_sysinfo import purgeable_logdir
AUTHOR = "Chrome OS Team"
NAME = "KernelCrashServer"
TIME = "SHORT"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "platform"
TEST_TYPE = "server"
DOC = """
This test crashes the client and verifies the kernel crash was collected.
Fails if any of the following conditions occur:
- kernel does not support crash dumping
- kernel crash dump doesn't appear after crash
- crash dump does not appear to be correct
- crash report is not sent properly
"""
def run_it(machine):
# We have set up our autotest to copy off the crashes in /var/spool/crash
# and purge its content after each test pass. This test executes several
# client-side tests and require that the content of /var/spool/crash be
# preserved between each client-side tests. So we'll need to remove the
# /var/spool/crash entry from the test_loggables so that autotest doesn't
# purge the content.
for log in job.sysinfo.test_loggables:
if type(log) is purgeable_logdir and log.dir == '/var/spool/crash':
job.sysinfo.test_loggables.remove(log)
break
host = hosts.create_host(machine)
job.run_test("logging_KernelCrashServer", host=host)
parallel_simple(run_it, machines)