KDUMP TESTS AUTOMATION SUITE
----------------------------

The kdump test automation suite helps run the kdump tests and report
results.  The testscripts cycle through a series of crash
scenarios. Each test cycle does the following:

1.  Sets up a crash scenario.
2.  Forces a crash.
3.  Kdump kernel boots and saves a vmcore.
4.  System reboots to 1st kernel.
5.  vmcore is validated and results are saved.
6.  After a 1 to 2 minute delay, the next crash scenario is setup and
    run.

The scripts make use of the crasher module for basic testing of kdump
and the new Linux Kernel Dump Test Module (LKDTM) for more involved
testing. LKDTM makes use of the kprobes infrastructure for inserting
crashpoints into the kernel at run-time. Thus the kernel need not be
patched and rebuilt.This script also tests kdump dumping on different
destinations like ext3, raw and network dump.

KDUMP TEST INSTRUCTION
----------------------

Follow the steps to setup kdump test automation suite.

The tests are written for SuSE Linux Enterprise Server 10 (and onward
releases), OpenSUSE, Fedora, Debian, as well as RedHat Enterprise Linux
5. Since KDUMP is supported by the above mentioned distro's the tests
were written and tested on them. Contribution towards supporting more
distributions are welcome.

1. Install these additional packages:

For SLES10 or OpenSUSE Distro :

   * kernel-kdump
   * kernel-source
   * kexec-tools
   * zlib-64bit-<xxx> (ppc64 only)
   * expect (if dump to a network destination)

For RHEL5 or Fedora distro :

   * kexec-tools
   * kernel-devel
   * kernel-debuginfo rpm (if using crash to verify vmcore)
   * kernel-kdump ( only for ppc64 )
   * expect (if dump to a network destination)

2.  Make sure the partition where the tests are running has space for
the tests results and one vmcore file (size of physical memory).

3. Modify configuration file runkdump.conf or copy a existing one from
sample/.

4.  Run "runkdump.sh". Carefully check for any errors.

Few Important points to remember:

* If you need to stop the tests before all tests have run, run "crontab
-r" and "killall runkdump.sh" within 1 minute after the 1st kernel
reboots. Then, if you'd like to carry on tests from the point on, run
"crontab kdump.cron", and "./runkdump.sh". If you'd like to start tests
from the beginning, modify the configuration file, and set
"REBOOT=0". Then, "./runkdump.sh"

* A failure is likely to occur when booting the kdump kernel. If this
happens, you'll need to manually reset the system so it reboots back to
the 1st kernel and continues on to the next test. For this reason, it's
best to monitor the tests from a console. If possible, setup a serial
console (not a must, any type of console setup will do). If using
minicom, enable saving of kernel messages displayed on minicom into a
file, by pressing ctrl+a+l on the console. Else, when it is observed
that the kdump kernel has failed to boot, manually copy the boot message
into a file to enable the debugging the cause of the hang.

* The results are saved in
<kdump-test-dir>/log/<hostname>.<date-time>. The "status" file in that
directory shows where you are in the test run. When the "Test run
complete" entry appears in that file, you're done. Verbose log can be
found at /tmp/kdump.log.

* The test machine would be unavailable for any other work during the
period of the test run.

* System may hang if incorrect partition information is provided for
dumping, like specifying a partition which does not exist, specifying a
partition label which does not exist. This is not ltp kdump bug.