blob: 62ac5b1817acf74240abcbff1f5f208ca389ed27 [file] [log] [blame]
alaffin198500d2000-08-21 22:18:17 +00001Linux Test Project
subrata_modak7509b212008-08-27 13:36:52 +00002(Maintained by: Subrata Modak<subrata@linux.vnet.ibm.com>)
robbiew6f3a9f32002-06-07 18:21:19 +00003
4The latest image is always available at http://ltp.sf.net
alaffin198500d2000-08-21 22:18:17 +00005
alaffin198500d2000-08-21 22:18:17 +00006
nstraz0312c252000-09-26 20:59:21 +00007About the Linux Test Project
alaffin198500d2000-08-21 22:18:17 +00008
robbiew9ea3ce72001-09-18 20:38:09 +00009The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a
robbiew0eea3522004-02-05 17:33:10 +000010goal to deliver test suites to the open source community that validate the
11reliability, robustness, and stability of Linux. The Linux Test Project is a
12collection of tools for testing the Linux kernel and related features. Our goal
13is to improve the Linux kernel by bringing test automation to the kernel testing
robbiew9ea3ce72001-09-18 20:38:09 +000014effort. Interested open source contributors are encouraged to join the project.
alaffin198500d2000-08-21 22:18:17 +000015
nstraz0312c252000-09-26 20:59:21 +000016
17In the Package
alaffin198500d2000-08-21 22:18:17 +000018--------------
nstraz0312c252000-09-26 20:59:21 +000019Here is a short description of what is included in this package
alaffin198500d2000-08-21 22:18:17 +000020
nstraz0312c252000-09-26 20:59:21 +000021INSTALL
22 Installation documentation and quick start guide
alaffin198500d2000-08-21 22:18:17 +000023
nstraz0312c252000-09-26 20:59:21 +000024README
25 This document
alaffin198500d2000-08-21 22:18:17 +000026
nstraz0312c252000-09-26 20:59:21 +000027CREDITS
28 Credits to those who have contributed to the project.
alaffin198500d2000-08-21 22:18:17 +000029
nstraz0312c252000-09-26 20:59:21 +000030COPYING
robbiew0eea3522004-02-05 17:33:10 +000031 GNU General Public License
alaffin198500d2000-08-21 22:18:17 +000032
nstraz0312c252000-09-26 20:59:21 +000033ChangeLog
34 An incomplete list of changes to the project. We will try harder to
35 keep this up to date.
nstrazf307d5f2000-09-14 21:54:44 +000036
nstraz0312c252000-09-26 20:59:21 +000037Makefile
robbiew0eea3522004-02-05 17:33:10 +000038 Top level make file for LTP.
nstraz0312c252000-09-26 20:59:21 +000039
40runalltests.sh
41 A simple script to run all of the packaged tests in sequential order and
robbiew0eea3522004-02-05 17:33:10 +000042 report the overall result.
nstraz0312c252000-09-26 20:59:21 +000043
robbiew9ea3ce72001-09-18 20:38:09 +000044diskio.sh
nstrazd226d9d2002-01-09 23:03:50 +000045 A simple script to run all the diskio tests that pertain to the CD-ROM
46 and floppy disk file systems.
robbiew9ea3ce72001-09-18 20:38:09 +000047
48networktests.sh
nstrazd226d9d2002-01-09 23:03:50 +000049 A simple script to run all the network related tests that require
50 another remote machine.
robbiew9ea3ce72001-09-18 20:38:09 +000051
nstraz0312c252000-09-26 20:59:21 +000052doc/*
53 Documentation for the project including man pages for some of the
robbiewca0a7de2001-09-25 18:58:43 +000054 tools & library functions, as well as descriptions of every test.
nstraz0312c252000-09-26 20:59:21 +000055
nstraz0312c252000-09-26 20:59:21 +000056
57include/*
58lib/*
59 The include and lib directories contain headers and codes for common
60 routines used by many of the tests. We have tried to keep this to a
robbiew0eea3522004-02-05 17:33:10 +000061 minimum.
nstraz0312c252000-09-26 20:59:21 +000062
robbiew9ea3ce72001-09-18 20:38:09 +000063testcases/*
nstrazd226d9d2002-01-09 23:03:50 +000064 Contains all tests that run under the LTP as well as the "bin"
robbiew0eea3522004-02-05 17:33:10 +000065 directory, which has hardlinks to all the test executables.
nstraz0312c252000-09-26 20:59:21 +000066
67runtest/*
robbiew9ea3ce72001-09-18 20:38:09 +000068 It houses command lists that are used by pan for automated testing.
69
nstraz0312c252000-09-26 20:59:21 +000070pan/*
71 The pan directory contains a simple, lightweight test harness. pan
72 has the ability to run tests randomly and in parallel. See pan's man
73 page for more information.
alaffin198500d2000-08-21 22:18:17 +000074
nstrazd226d9d2002-01-09 23:03:50 +000075scratch/*
76 The scratch directory is a dumping ground for snippets and test cases
77 that we found but haven't integrated into LTP yet. Feel free to suggest
78 new snippets to be added, or take one of these and finish it off.
alaffin198500d2000-08-21 22:18:17 +000079
subrata_modak0c5f9702007-04-26 11:02:47 +000080testcases/kernel/containers/*
subrata_modak8cd73052007-06-22 10:28:26 +000081 Contains all the testcases related to container functionality ( e.g: sysvipc, utsname etc..)
subrata_modak0c5f9702007-04-26 11:02:47 +000082 For further information on the each of the container functionality refer
83 the following file: testcases/kernel/containers/README
84
85
nstraz0312c252000-09-26 20:59:21 +000086Warning!
87--------
alaffin198500d2000-08-21 22:18:17 +000088Be careful with these tests!
89
90Don't run them on production systems. Growfiles, doio, and iogen in particular
91stress the I/O capabilities of systems and while they should not cause problems
92on properly functioning systems, they are intended to find (or cause) problems.
nstraz0312c252000-09-26 20:59:21 +000093
94
95Contact Information and Updates
96-------------------------------
97
robbiew9ea3ce72001-09-18 20:38:09 +000098URL: http://ltp.sf.net
nstraz0312c252000-09-26 20:59:21 +000099
nstrazd226d9d2002-01-09 23:03:50 +0000100Questions and comments should be sent to the LTP mailing list located on the
robbiew0eea3522004-02-05 17:33:10 +0000101project page.
nstraz0312c252000-09-26 20:59:21 +0000102
subrata_modak23f869f2007-04-09 12:03:49 +0000103Using KDUMP test automation suite
104---------------------------------
subrata_modak23f869f2007-04-09 12:03:49 +0000105For more information on how to use the kdump test automation suite please refer
106to file testcases/kdump/README.
107
subrata_modak9b555d12007-08-24 09:41:59 +0000108Using NUMA test automation suite
109---------------------------------
110For more information on how to use the 'numa' test automation suite please refer
111to file testcases/kernel/numa/README.
112
subrata_modakb8f04cd2008-10-24 08:24:37 +0000113---------------------------------
114Enable CODE COVERAGE for your Kernel:
115---------------------------------
1161) Apply kernel-gcov patch(s) against the corresponding Kernel. They are available here:
117http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/gcov-kernel/linux-2.*.*-gcov.patch?view=log,
1182) Also enable the following options in your .config file before building the kernel
119CONFIG_GCOV_PROFILE=y
120CONFIG_GCOV_ALL=y
121CONFIG_GCOV_PROC=m
122CONFIG_GCOV_HAMMER=y
123
124---------------------------------
125Enabling Kernel Configuration to test Containers/Namespaces
126---------------------------------
127CONFIG_NAMESPACES=y
128CONFIG_UTS_NS=y
129CONFIG_IPC_NS=y
130CONFIG_USER_NS=y
131CONFIG_PID_NS=y
132CONFIG_NET_NS=y
133CONFIG_VETH=y
134CONFIG_MACVLAN=y
135
136
137---------------------------------
138Enabling Kernel Configuration to test Controllers
139---------------------------------
140CONFIG_CGROUPS=y
141CONFIG_CGROUP_DEBUG=y
142CONFIG_CGROUP_NS=y
143CONFIG_GROUP_SCHED=y
144CONFIG_FAIR_GROUP_SCHED=y
145CONFIG_RT_GROUP_SCHED=y
146CONFIG_CGROUP_SCHED=y
147CGROUP_MEM_RES_CTLR=y
148---------------------------------
149Enabling Kernel Configuration to test Power Management features
150---------------------------------
151CONFIG_CPU_FREQ=y
152CONFIG_CPU_FREQ_TABLE=y
153CONFIG_CPU_FREQ_DEBUG=y
154CONFIG_CPU_FREQ_STAT=y
155CONFIG_CPU_FREQ_STAT_DETAILS=y
156CONFIG_CPU_IDLE=y
157CONFIG_CPU_IDLE_GOV_LADDER=y
158CONFIG_CPU_IDLE_GOV_MENU=y
159CONFIG_SCHED_MC=y
160CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
161CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
162CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
163CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
164CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
165CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
166CONFIG_CPU_FREQ_GOV_POWERSAVE=y
167CONFIG_CPU_FREQ_GOV_USERSPACE=y
168CONFIG_CPU_FREQ_GOV_ONDEMAND=y
169CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
170---------------------------------
subrata_modakd1ece562008-11-03 10:09:30 +0000171Enabling Kernel Configuration to test filecaps security feature
172---------------------------------
173CONFIG_SECURITY_CAPABILITIES=y
174---------------------------------
subrata_modaka8b1aee2008-11-07 09:19:07 +0000175Enabling Kernel Configuration to test SELinux security feature
176---------------------------------
177Your Kernel should have been built with the following options to
178test SELinux:
subrata_modakd1ece562008-11-03 10:09:30 +0000179
subrata_modaka8b1aee2008-11-07 09:19:07 +0000180CONFIG_SECURITY=y
181CONFIG_SECURITY_NETWORK=y
182CONFIG_SECURITY_NETWORK_XFRM=y
183CONFIG_SECURITY_FILE_CAPABILITIES=y
184
185CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
186This has to be set to a positive value if you want to test this check.
187Fedora kernels set it to 65536.
188
189CONFIG_SECURITY_SELINUX=y
190CONFIG_SECURITY_SELINUX_BOOTPARAM=y
191CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
192CONFIG_SECURITY_SELINUX_DEVELOP=y
193CONFIG_SECURITY_SELINUX_AVC_STATS=y
194CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
195CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
196
197CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
198You don't want this one unless you are running Fedora 3 or 4.
199On anything newer, it will cause unnecessary policy expansion.
200
201CONFIG_SECURITY_SMACK=y
202CONFIG_SECURITY_SELINUX=y
203
204By default, if you boot with multiple LSMs compiled into the kernel, the
205kernel won't boot succesfully - there can be only one (aside from
206explicit internal "stacking" e.g. as is done for combining SELinux or
207Smack with capabilities). Unless you use the security= option to select
208one at boot. SELinux and Smack will honor the security= option.
209---------------------------------
subrata_modak138ce8c2008-11-25 13:06:58 +0000210Enablement for Enhancement to kexec/kdump for implementing the following features:
211- Backup/restore memory used by the original kernel before/after kexec.
212- Save/restore CPU state before/after kexec.
213Now, only the i386 architecture is supported. More from the following git logs:
214http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ab83521378268044a448113c6aa9a9e245f4d2f,
215http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9,
216---------------------------------
217CONFIG_X86_32=y
218CONFIG_RELOCATABLE=y
219CONFIG_KEXEC=y
220CONFIG_CRASH_DUMP=y
221CONFIG_PM=y
222CONFIG_HIBERNATION=y
223CONFIG_KEXEC_JUMP=y
224---------------------------------
subrata_modak6111aa82008-12-29 11:04:15 +0000225Enabling HOTPLUG for your Kernels
226---------------------------------
227CONFIG_HOTPLUG=y
228CONFIG_HOTPLUG_CPU=y
229CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
230CONFIG_ACPI_HOTPLUG_CPU=y
231CONFIG_HOTPLUG_PCI_PCIE=y
232CONFIG_HOTPLUG_PCI=y
233CONFIG_HOTPLUG_PCI_FAKE=y
234CONFIG_HOTPLUG_PCI_COMPAQ=y
235CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
236CONFIG_HOTPLUG_PCI_IBM=y
237CONFIG_HOTPLUG_PCI_ACPI=y
238CONFIG_HOTPLUG_PCI_ACPI_IBM=y
239CONFIG_HOTPLUG_PCI_CPCI=y
240CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
241CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
242CONFIG_HOTPLUG_PCI_SHPC=y
243---------------------------------
subrata_modak7a86bf32008-12-30 07:32:53 +0000244Video For Linux Two API testing Requirements:
245You need to have a video device (i.e. webcam, tuner card, etc.) connected to your system and available under /dev/video0. If you don't have any hardware device available, you can still test the "Virtual Video Driver". To compile this you need to compile your kernel with CONFIG_VIDEO_VIVI=m under:
246 -> Device Drivers
247 -> Multimedia devices
248 -> Video For Linux
249 -> Video capture adapters
250 -> Virtual Video Driver
251
252The tests also require CUnit Framework to be installed before compiling the tests. Download & Install the same from:
253http://sourceforge.net/projects/cunit/
254---------------------------------
subrata_modak138ce8c2008-11-25 13:06:58 +0000255---------------------------------