List of scripts or executables that need to be run for complete LTP execution.
The tests listed are NOT executed with the runalltests.sh script

runalltests.sh
 - syscalls  (except epoll, see below)
 - fs
 - fsx
 - dio
 - mm
 - ipc
 - sched
 - math
 - pty

if run network tests flag is passed these additional tests are run
 - tcp_cmds
 - multicast
 - rpc
 - nfs

To test filesystem with LVM
- ltpfslvm.sh
w/o LVM
- ltpfsnolvm.sh

Device Mapper tests
 - ltpdmmapper.sh

Network tests
 - networktests.sh
 - testcases/network/sockets/ltpSockets.sh

other filesystem or disk type tests
 - autofs1.sh
 - autofs4.sh
 - diskio.sh
 - exportfs.sh
 - isofs.sh
 - sysfs.sh

LTP Stress tests
 - ltpstress.sh

AIO/DIO filesystem tests
 - ltp-aiodio.sh

Device driver tests (may not run on all platforms)
 - acpi
 - agp
 - base
 - drm
 - include
 - nls
 - pci
 - tbio
 - usb

Open_hpi_testsuite
 - run_tests

Open_posix_testsuite
 - run_tests


testcases/kernel/syscalls/epoll - The tests require additional installation files. See the README in the epoll directory.
