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