List of scripts or executables that need to be run for complete LTP execution.

 - 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
 - network.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.
