blob: 42297c3cfbd7123e35bbd2cc2cdf8f13d72d09d5 [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/*
subrata_modakdddeb902009-05-29 10:06:08 +000068 It houses command lists that are used by ltp-pan for automated testing.
robbiew9ea3ce72001-09-18 20:38:09 +000069
nstraz0312c252000-09-26 20:59:21 +000070pan/*
subrata_modakdddeb902009-05-29 10:06:08 +000071 The pan directory contains a simple, lightweight test harness. lpt-pan
72 has the ability to run tests randomly and in parallel. See ltp-pan's man
nstraz0312c252000-09-26 20:59:21 +000073 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
subrata_modak09be6112009-03-04 07:03:41 +0000136The IPC namespaces do not automatically enable IPC, so you may
137also want to have:
138
139CONFIG_SYSVIPC=y
140CONFIG_SYSVIPC_SYSCTL=y
141CONFIG_POSIX_MQUEUE=y
subrata_modakb8f04cd2008-10-24 08:24:37 +0000142
143---------------------------------
144Enabling Kernel Configuration to test Controllers
145---------------------------------
146CONFIG_CGROUPS=y
147CONFIG_CGROUP_DEBUG=y
148CONFIG_CGROUP_NS=y
149CONFIG_GROUP_SCHED=y
150CONFIG_FAIR_GROUP_SCHED=y
151CONFIG_RT_GROUP_SCHED=y
152CONFIG_CGROUP_SCHED=y
subrata_modake1425aa2009-04-25 17:41:02 +0000153CONFIG_CGROUP_MEM_RES_CTLR=y
154CONFIG_LOCKDEP=y
subrata_modakb8f04cd2008-10-24 08:24:37 +0000155---------------------------------
156Enabling Kernel Configuration to test Power Management features
157---------------------------------
158CONFIG_CPU_FREQ=y
159CONFIG_CPU_FREQ_TABLE=y
160CONFIG_CPU_FREQ_DEBUG=y
161CONFIG_CPU_FREQ_STAT=y
162CONFIG_CPU_FREQ_STAT_DETAILS=y
163CONFIG_CPU_IDLE=y
164CONFIG_CPU_IDLE_GOV_LADDER=y
165CONFIG_CPU_IDLE_GOV_MENU=y
166CONFIG_SCHED_MC=y
167CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
168CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
169CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
170CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
171CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
172CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
173CONFIG_CPU_FREQ_GOV_POWERSAVE=y
174CONFIG_CPU_FREQ_GOV_USERSPACE=y
175CONFIG_CPU_FREQ_GOV_ONDEMAND=y
176CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
177---------------------------------
subrata_modakd1ece562008-11-03 10:09:30 +0000178Enabling Kernel Configuration to test filecaps security feature
179---------------------------------
subrata_modakd2612012009-06-02 08:06:40 +0000180CONFIG_SECURITY_FILE_CAPABILITIES=y
subrata_modakd1ece562008-11-03 10:09:30 +0000181---------------------------------
subrata_modaka8b1aee2008-11-07 09:19:07 +0000182Enabling Kernel Configuration to test SELinux security feature
183---------------------------------
184Your Kernel should have been built with the following options to
185test SELinux:
subrata_modakd1ece562008-11-03 10:09:30 +0000186
subrata_modaka8b1aee2008-11-07 09:19:07 +0000187CONFIG_SECURITY=y
188CONFIG_SECURITY_NETWORK=y
189CONFIG_SECURITY_NETWORK_XFRM=y
subrata_modaka8b1aee2008-11-07 09:19:07 +0000190
191CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
192This has to be set to a positive value if you want to test this check.
193Fedora kernels set it to 65536.
194
195CONFIG_SECURITY_SELINUX=y
196CONFIG_SECURITY_SELINUX_BOOTPARAM=y
197CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
198CONFIG_SECURITY_SELINUX_DEVELOP=y
199CONFIG_SECURITY_SELINUX_AVC_STATS=y
200CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
201CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
202
203CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
204You don't want this one unless you are running Fedora 3 or 4.
205On anything newer, it will cause unnecessary policy expansion.
206
207CONFIG_SECURITY_SMACK=y
208CONFIG_SECURITY_SELINUX=y
209
210By default, if you boot with multiple LSMs compiled into the kernel, the
211kernel won't boot succesfully - there can be only one (aside from
212explicit internal "stacking" e.g. as is done for combining SELinux or
213Smack with capabilities). Unless you use the security= option to select
214one at boot. SELinux and Smack will honor the security= option.
215---------------------------------
subrata_modak6c7dfab2009-03-19 07:27:04 +0000216---------------------------------
217Enabling Kernel Configuration to test SMACK security feature
218---------------------------------
219CONFIG_NETLABEL=y
220CONFIG_SECURITY=y
221CONFIG_SECURITY_NETWORK=y
222CONFIG_SECURITY_SMACK=y
223CONFIG_SECURITY_SELINUX should not be set
224
225For more information to build/install/run these tests, look through:
226ltp/testcases/kernel/security/smack/README
227---------------------------------
228---------------------------------
subrata_modak138ce8c2008-11-25 13:06:58 +0000229Enablement for Enhancement to kexec/kdump for implementing the following features:
230- Backup/restore memory used by the original kernel before/after kexec.
231- Save/restore CPU state before/after kexec.
232Now, only the i386 architecture is supported. More from the following git logs:
233http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ab83521378268044a448113c6aa9a9e245f4d2f,
234http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9,
235---------------------------------
236CONFIG_X86_32=y
237CONFIG_RELOCATABLE=y
238CONFIG_KEXEC=y
239CONFIG_CRASH_DUMP=y
240CONFIG_PM=y
241CONFIG_HIBERNATION=y
242CONFIG_KEXEC_JUMP=y
243---------------------------------
subrata_modak6111aa82008-12-29 11:04:15 +0000244Enabling HOTPLUG for your Kernels
245---------------------------------
246CONFIG_HOTPLUG=y
247CONFIG_HOTPLUG_CPU=y
248CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
249CONFIG_ACPI_HOTPLUG_CPU=y
250CONFIG_HOTPLUG_PCI_PCIE=y
251CONFIG_HOTPLUG_PCI=y
252CONFIG_HOTPLUG_PCI_FAKE=y
253CONFIG_HOTPLUG_PCI_COMPAQ=y
254CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
255CONFIG_HOTPLUG_PCI_IBM=y
256CONFIG_HOTPLUG_PCI_ACPI=y
257CONFIG_HOTPLUG_PCI_ACPI_IBM=y
258CONFIG_HOTPLUG_PCI_CPCI=y
259CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
260CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
261CONFIG_HOTPLUG_PCI_SHPC=y
262---------------------------------
subrata_modak7a86bf32008-12-30 07:32:53 +0000263Video For Linux Two API testing Requirements:
264You 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:
265 -> Device Drivers
266 -> Multimedia devices
267 -> Video For Linux
268 -> Video capture adapters
269 -> Virtual Video Driver
270
271The tests also require CUnit Framework to be installed before compiling the tests. Download & Install the same from:
272http://sourceforge.net/projects/cunit/
273---------------------------------
subrata_modak138ce8c2008-11-25 13:06:58 +0000274---------------------------------
subrata_modak250df922009-01-15 09:17:14 +0000275
276Native language support (nls) testsuite requirements
277----------------------------------------------------
278CONFIG_NLS=m
279CONFIG_BLOCK=y
subrata_modakfcce6dd2009-03-02 15:39:45 +0000280---------------------------------
281Enabling Controller area network (CAN) protocol support for your Kernels
282---------------------------------
283CONFIG_NET=y
284CONFIG_CAN=m
285CONFIG_CAN_RAW=m
286CONFIG_CAN_BCM=m
287# CAN Device Drivers
288CONFIG_CAN_VCAN=m
289---------------------------------
290