Add a logfile option to ltpmenu2
[ltp-debian.git] / runalltests.sh
blob8387bf8c78b04aab9af596d39cfcd50dc6704bf3
1 #!/bin/sh
2 ################################################################################
3 ## ##
4 ## Copyright (c) International Business Machines Corp., 2001 ##
5 ## ##
6 ## This program is free software; you can redistribute it and#or modify ##
7 ## it under the terms of the GNU General Public License as published by ##
8 ## the Free Software Foundation; either version 2 of the License, or ##
9 ## (at your option) any later version. ##
10 ## ##
11 ## This program is distributed in the hope that it will be useful, but ##
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
13 ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ##
14 ## for more details. ##
15 ## ##
16 ## You should have received a copy of the GNU General Public License ##
17 ## along with this program; if not, write to the Free Software ##
18 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ##
19 ## ##
20 ################################################################################
21 ## File: runalltests.sh ##
22 ## ##
23 ## Description: This script just calls runltp now, and is being phased out. ##
24 ## If you rely on this script for automation reasons, please ##
25 ## ##
26 ## History Subrata Modak <subrata@linuc.vnet.ibm.com> changed the code ##
27 ## to include testing other testcases which are not run by ##
28 ## default, 08/09/2008 ##
29 ## ##
30 ################################################################################
32 echo -e "*******************************************************************"
33 echo -e "*******************************************************************"
34 echo -e "** **"
35 echo -e "** This script is being re-written to cover all aspects of **"
36 echo -e "** testing LTP, which includes running all those tests which **"
37 echo -e "** are not run by default with ./runltp script. Special setup **"
38 echo -e "** in system environment will be done to run all those tests **"
39 echo -e "** like the File System tests, SELinuxtest, etc **"
40 echo -e "** **"
41 echo -e "*******************************************************************"
42 echo -e "*******************************************************************"
44 export LTPROOT=${PWD}
45 export RUN_BALLISTA=0
46 export RUN_OPENPOSIX=0
47 ## Set this to 1 if mm-1.4.2.tar.gz is already installed in your system
48 ## from ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz
49 export RUN_MM_CORE_APIS=0
50 export LIBMM_INSTALLED=0
51 ## This is required if already not set to /usr/local/lib/ as
52 ## mm-1.4.2.tar.gz gets installed at /usr/local/lib/
53 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/:/lib/
54 export PATH=$PATH:/sbin/
56 ## Set this to 1 if libaio-0.3.92.tar.gz is already installed in your system
57 ## from http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/libaio-0.3.92.tar.gz
58 export RUN_AIOTESTS=0
59 export LIBAIO_INSTALLED=0
61 ## Set this to 1 if libcaps-2.11 or newer is already installed in your system
62 ## from ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2, as well as,
63 ## the libattr is available in the system. The kernel should also have been built
64 ## with the following option: CONFIG_SECURITY_FILE_CAPABILITIES=y
65 export RUN_FILECAPS=0
66 export LIBCAPS_INSTALLED=0
67 export LIBATTR_INSTALLED=0
69 ## Set this to 1 if you wish to execute the stress_cd tests
70 ## Make sure you have FLOPPY inserted, be warned that you
71 ## will loose all data on it after the tests,
72 export RUN_STRESS_FLOPPY=0
74 ## Set this to 1 if you wish to execute the stress_floppy tests
75 ## Make sure you have CD inserted in your CD-ROM drive,
76 export RUN_STRESS_CD=0
78 ##Set this to 1 if you wish to run the CPUHOTPLUG tests
79 export RUN_CPU_HOTPLUG=0
81 ##Set this to 1 if you wish to run the LTP-NETWORK tests. Please refer to:
82 ## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
83 ## for more information on how to run the tests.
84 export RUN_LTP_NETWORK_TESTS=0
86 ##Set this to 1 if you wish to run the LTP-NETWORK-STRESS tests. Please refer to:
87 ## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
88 ## and http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/stress/README
89 ## for more information on how to run the NETWORK-STRESS tests.
90 export RUN_LTP_NETWORK_STRESS_TESTS=0
92 ## Set this to 1 if you wish to run the ltp/testscripts/adp tests
93 export RUN_LTP_ADP_TESTS=0
95 ## Set this to 1 if you wish to run the AUTOFS tests
96 # REQUIREMENTS:
97 # 1) System with a floppy device with a floppy disk in it.
98 # 2) A spare (scratch) disk partition of 100MB or larger.
99 export RUN_LTP_AUTOFS1_TESTS=0
100 export RUN_LTP_AUTOFS4_TESTS=0
101 export DISK_PARTITION1=0
103 ## Set this to 1 if you wish to run the EXPORTFS tests
104 # DESCRIPTION : A script that will test exportfs on Linux system.
105 # REQUIREMENTS:
106 # 1) NFS Server system with rsh enabled between client & server.
107 # 2) 100MB Disk partition on NFS server.
108 export RUN_EXPORTFS_TESTS=0
109 export NFS_SERVER1=xxx
110 export NFS_SERVER_DISK_PARTITION1=yyy
111 export NFS_SERVER_FS_TYPE1=zzz
114 ## Set this to 1 if you wish to run the FS tests on READ ONLY File Systems. Refer to http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testscripts/Readme_ROBind for more info
115 export RUN_RO_ONLY_FS_TESTS=0
116 export READ_ONLY_DIRECTORY1=xxxx
118 ## Set this to 1 if you wish to run the ISOFS tests
119 # REQUIREMENTS:
120 # Must have root access to execute this script
121 export RUN_ISOFS_TESTS=0
123 ## Set this to 1 if you wish to run the DMMAPPER tests
124 #Note: In order to run this test, you must turn on "device mapper"
125 # component in kernel (it is under device drivers item when you
126 # run make menuconfig); and you must install userspace supporting
127 # files (libdevmapper and dmsetup). They are in the device-mapper
128 # package. You can download it from http://www.sistina.com. Follow
129 # the README/INSTALL file within the package to install it.
130 export RUN_DMMAPPER_TESTS=0
131 export DISK_PARTITION2=xxxxx
132 export DISK_PARTITION3=yyyyy
134 ## Set this to 1 if you wish to run the FSLVM tests
135 #Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
136 # - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
137 # you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
138 # - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
139 # Once these tests are started all data in the partitions you point to will be destroyed.
140 export RUN_FSLVM_TESTS=0
141 export DISK_PARTITION4=xxxxxx
142 export DISK_PARTITION5=yyyyyy
143 export DISK_PARTITION6=zzzzzz
144 export DISK_PARTITION7=iiiiii
145 export NFS_PARTITION1=jjjjjj
147 ## Set this to 1 if you wish to run the FSNOLVM tests
148 #Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
149 # - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
150 # you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
151 # - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
152 # Once these tests are started all data in the partitions you point to will be destroyed.
153 export RUN_FSNOLVM_TESTS=0
155 ## Set this to 1 if you wish to run the LTP SCSI DEBUG tests
156 #Note: Build scsi_debug as a module first before running the test
157 export RUN_LTP_SCSI_DEBUG_TEST=0
159 ## Set this to 1 if you wish to run the LTP SYSFS tests
160 #Note: Must have root access to execute this script.
161 # USAGE : sysfs.sh [ -k <kernel_module> ]
162 # DESCRIPTION : A script that will test sysfs on Linux system.
163 # REQUIREMENTS: CONFIG_DUMMY must have been used to build kernel, and the
164 # dummy network module must exist.
165 export RUN_LTP_SYSFS_TEST=0
166 export KERNEL_MODULE1=xxxxxxx
168 ## Set this to 1 if you wish to run the LTP TIRPC tests
169 export RUN_LTP_TIRPC_TEST=0
171 ##Set this to 1 if you wish to run the SE-Linux tests
172 # These testcases test the SELinux Security Module.
173 # A kernel with SELinux configured, and SELinux policy and userspace
174 # tools installed, are required to build and run the SELinux testsuite.
175 # Also, /usr/sbin should be included in PATH to ensure SELinux utilities
176 # such as getenforce are found. The test_selinux.sh script adds /usr/sbin
177 # to the PATH.
178 # You must also have the line:
179 # expand-check = 0
180 # in your /etc/selinux/semanage.conf file as the test policy will violate some
181 # of the neverallow rules in the base policy. This line may already be present
182 # depending on your distribution; if not, add it before running the test suite
183 # and remove it when done. For more info, please refer to:
184 # http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/security/selinux-testsuite/README
185 export RUN_SE_LINUX_TESTS=0
187 export LTP_VERSION=`./runltp -e`
188 export TEST_START_TIME=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
189 export HARDWARE_TYPE=$(uname -i)
190 export HOSTNAME=$(uname -n)
191 export KERNEL_VERSION=$(uname -r)
192 export HTML_OUTPUT_FILE_NAME=$LTP_VERSION_$HOSTNAME_$KERNEL_VERSION_$HARDWARE_TYPE_$TEST_START_TIME.html
195 ## The First one i plan to run is the default LTP run ##
196 ## START => Test Series 1 ##
197 echo -e "Running Default LTP..."
198 ./runltp -g $HTML_OUTPUT_FILE_NAME
199 echo -e "Completed running Default LTP\n\n"
200 ## END => Test Series 1 ##
202 ## The next one i plan to run is ballista ##
203 ## START => Test Series 2 ##
204 if [ $RUN_BALLISTA -eq 1 ]
205 then
206 echo -e "Running Ballista..."
207 export TEST_START_TIME=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
208 ./runltp -f ballista -o $LTP_VERSION-BALLISTA_RUN_ON-$HOSTNAME-$KERNEL_VERSION-$HARDWARE_TYPE-$TEST_START_TIME.out
209 echo -e "Completed running Ballista\n\n"
211 ## END => Test Series 2 ##
213 ## The next one i plan to run is open_posix_testsuite ##
214 ## START => Test Series 3 ##
215 if [ $RUN_OPENPOSIX -eq 1 ]
216 then
217 echo -e "Running Open Posix Tests..."
218 (cd testcases/open_posix_testsuite; make)
219 echo -e "Completed running Open Posix Tests\n\n"
221 ## END => Test Series 3 ##
224 ## The next one i plan to run is ##
225 ## ltp/testcases/kernel/mem/libmm/mm_core_apis ##
226 ## START => Test Series 4 ##
227 if [ $RUN_MM_CORE_APIS -eq 1 ]
228 then
229 echo -e "Initializing ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
230 # Check to see if User is Root
231 if [ $EUID -ne 0 ]
232 then
233 echo You need to be root to Install libmm and run mem/libmm/mm_core_apis
234 echo Aborting ltp/testcases/kernel/mem/libmm/mm_core_apis
235 else
236 if [ $LIBMM_INSTALLED -ne 1 ]
237 then
238 echo Installing libmm-1.4.2 .............
239 (cd /tmp; \
240 wget -c ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz; \
241 tar -xzf mm-1.4.2.tar.gz; \
242 cd mm-1.4.2; \
243 ./configure && make && make install )
244 rm -rf /tmp/mm-1.4.2*
245 echo libmm-1.4.2 Installed .............
246 else
247 echo libmm-1.4.2 already installed in your system
249 echo -e "Running ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
250 (cd testcases/kernel/mem/libmm; \
251 make; \
252 make install; \
253 $LTPROOT/testcases/bin/mm_core_apis; )
255 echo -e "Completed running ltp/testcases/kernel/mem/libmm/mm_core_apis...\n\n"
257 ## END => Test Series 4 ##
260 ## The next one i plan to run is ##
261 ## ltp/testcases/kernel/io/aio ##
262 ## START => Test Series 5 ##
263 if [ $RUN_AIOTESTS -eq 1 ]
264 then
265 echo -e "Initializing ltp/testcases/kernel/io/aio ..."
266 # Check to see if User is Root
267 if [ $EUID -ne 0 ]
268 then
269 echo You need to be root to Install libaio-0.3.92 and run ltp/testcases/kernel/io/aio
270 echo Aborting ltp/testcases/kernel/io/aio
271 else
272 if [ $LIBAIO_INSTALLED -ne 1 ]
273 then
274 echo Installing libaio-0.3.92.............
275 (cd /tmp; \
276 wget -c http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/libaio-0.3.92.tar.gz; \
277 tar -xzf libaio-0.3.92.tar.gz; \
278 cd libaio-0.3.92; \
279 make > /dev/null && make install > /dev/null)
280 rm -rf /tmp/libaio-0.3.92*
281 echo libaio-0.3.92 Installed .............
282 else
283 echo libaio-0.3.92 already installed in your system
285 echo -e "Building & Running ltp/testcases/kernel/io/aio..."
286 (cd testcases/kernel/io/aio; \
287 make > /dev/null; \
288 ./aio01/aio01; \
289 ./aio02/runfstests.sh -a aio02/cases/aio_tio; \
290 make clean 1>&2 > /dev/null )
291 echo -e "Completed running ltp/testcases/kernel/io/aio...\n\n"
294 ## END => Test Series 5 ##
298 ## The next one i plan to run is ##
299 ## ltp/testcases/kernel/security/filecaps ##
300 ## START => Test Series 6 ##
301 if [ $RUN_FILECAPS -eq 1 ]
302 then
303 echo -e "Initializing ltp/testcases/kernel/security/filecaps ..."
304 # Check to see if User is Root
305 if [ $EUID -ne 0 ]
306 then
307 echo You need to be root to Install libcaps and run ltp/testcases/kernel/security/filecaps
308 echo Aborting ltp/testcases/kernel/security/filecaps
309 else
310 if [ $LIBCAPS_INSTALLED -ne 1 ]
311 then
312 echo Installing libcaps.............
313 (cd /tmp; \
314 wget -c ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.14.tar.gz; \
315 tar -xzf libcap-2.14.tar.gz; \
316 cd libcap-2.14; \
317 make > /dev/null && make install > /dev/null)
318 rm -rf /tmp/libcap-2.14*
319 echo libcaps Installed .............
320 else
321 echo libcaps already installed in your system
323 echo -e "Building & Running ltp/testcases/kernel/security/filecaps"
324 (cd ltp/testcases/kernel/security/filecaps; \
325 make && make install > /dev/null; )
326 ./runltp -f filecaps
327 echo -e "Completed running ltp/testcases/kernel/io/aio...\n\n"
330 ## END => Test Series 6 ##
333 ## The next one i plan to run is tpm_tools ##
334 ## START => Test Series 7 ##
335 ./runltp -f tpm_tools
336 ## END => Test Series 7 ##
338 ## The next one i plan to run is tcore_patch_test_suites
339 ## START => Test Series 8 ##
340 ./runltp -f tcore
341 ## END => Test Series 8 ##
344 ## The next one i plan to run is stress_cd tests
345 ## START => Test Series 9 ##
346 if [ $RUN_STRESS_CD -eq 1 ]
347 then
348 ./runltp -f io_cd
350 ## END => Test Series 9 ##
352 ## The next one i plan to run is stress_floppy tests
353 ## START => Test Series 10 ##
354 if [ $RUN_STRESS_FLOPPY -eq 1 ]
355 then
356 ./runltp -f io_floppy
358 ## END => Test Series 10 ##
360 ## The next one i plan to run is CPUHOTPLUG tests
361 ## START => Test Series 11 ##
362 if [ $RUN_CPU_HOTPLUG -eq 1 ]
363 then
364 ./runltp -f cpuhotplug
366 ## END => Test Series 11 ##
368 ## The next one i plan to run are the LTP Network tests
369 ## START => Test Series 12 ##
370 if [ $RUN_LTP_NETWORK_TESTS -eq 1 ]
371 then
372 (cd $LTPROOT/testscripts/; ./networktests.sh)
374 ## END => Test Series 12 ##
376 ## The next one i plan to run are the LTP Network Stress tests
377 ## START => Test Series 13 ##
378 if [ $RUN_LTP_NETWORK_STRESS_TESTS -eq 1 ]
379 then
380 (cd $LTPROOT/testscripts/; ./networkstress.sh)
382 ## END => Test Series 13 ##
385 ## The next one i plan to run are the LTP ADP tests
386 ## START => Test Series 14 ##
387 if [ $RUN_LTP_ADP_TESTS -eq 1 ]
388 then
389 (cd $LTPROOT/testscripts/; ./adp.sh -d 3 -n 100)
391 ## END => Test Series 14 ##
394 ## The next one i plan to run are the LTP AUTOFS tests
395 ## START => Test Series 15 ##
396 if [ $RUN_LTP_AUTOFS1_TESTS -eq 1 ]
397 then
398 if [ $DISK_PARTITION1 ]
399 then
400 (cd $LTPROOT/testscripts/; ./autofs1.sh $DISK_PARTITION1)
401 else
402 echo Disk Partition not set. Aborting running AUTOFS1
405 if [ $RUN_LTP_AUTOFS4_TESTS -eq 1 ]
406 then
407 if [ $DISK_PARTITION1 ]
408 then
409 (cd $LTPROOT/testscripts/; ./autofs4.sh $DISK_PARTITION1)
410 else
411 echo Disk Partition not set. Aborting running AUTOFS4
414 ## END => Test Series 15 ##
417 ## The next one i plan to run are the LTP EXPORTFS tests
418 ## START => Test Series 16 ##
419 if [ $RUN_EXPORTFS_TESTS -eq 1 ]
420 then
421 (cd $LTPROOT/testscripts/; ./exportfs.sh -h $NFS_SERVER1 -d $NFS_SERVER_DISK_PARTITION1 -t $NFS_SERVER_FS_TYPE1)
423 ## END => Test Series 16 ##
426 ## The next one i plan to run the FS tests on READ ONLY File Systems
427 ## START => Test Series 17 ##
428 if [ $RUN_RO_ONLY_FS_TESTS -eq 1 ]
429 then
430 (cd $READ_ONLY_DIRECTORY1; sh $LTPROOT/testscripts/test_robind.sh)
432 ## END => Test Series 17 ##
435 ## The next one i plan to run the ISOFS tests
436 ## START => Test Series 18 ##
437 if [ $RUN_ISOFS_TESTS -eq 1 ]
438 then
439 (cd $LTPROOT/testscripts/; ./isofs.sh)
441 ## END => Test Series 18 ##
444 ## The next one i plan to run the DMMAPPER tests
445 ## START => Test Series 19 ##
446 if [ $RUN_DMMAPPER_TESTS -eq 1 ]
447 then
448 (cd $LTPROOT/testscripts/; ./ltpdmmapper.sh -a $DISK_PARTITION2 -b $DISK_PARTITION3)
450 ## END => Test Series 19 ##
453 ## The next one i plan to run the FSLVM tests
454 ## START => Test Series 20 ##
455 if [ $RUN_FSLVM_TESTS -eq 1 ]
456 then
457 (cd $LTPROOT/testscripts/; ./ltpfslvm.sh -a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
459 ## END => Test Series 20 ##
462 ## The next one i plan to run the FSNOLVM tests
463 ## START => Test Series 21 ##
464 if [ $RUN_FSNOLVM_TESTS -eq 1 ]
465 then
466 (cd $LTPROOT/testscripts/; ./ltpfsnolvm.sh -a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
468 ## END => Test Series 21 ##
470 ## The next one i plan to run the LTP SCSI DEBUG tests
471 ## START => Test Series 22 ##
472 if [ $RUN_LTP_SCSI_DEBUG_TEST -eq 1 ]
473 then
474 (cd $LTPROOT/testscripts/; ./ltp-scsi_debug.sh)
476 ## END => Test Series 22 ##
478 ## The next one i plan to run the LTP SYSFS tests
479 ## START => Test Series 23 ##
480 if [ $RUN_LTP_SYSFS_TEST -eq 1 ]
481 then
482 (cd $LTPROOT/testscripts/; ./sysfs.sh -k $KERNEL_MODULE1)
484 ## END => Test Series 23 ##
486 ## The next one i plan to run the LTP TIRPC tests
487 ## START => Test Series 24 ##
488 if [ $RUN_LTP_TIRPC_TEST -eq 1 ]
489 then
490 ./runltp -f rpctirpc
492 ## END => Test Series 24 ##
494 ## The next one i plan to run the LTP SE-Linux tests
495 ## START => Test Series 25 ##
496 if [ $RUN_SE_LINUX_TESTS -eq 1 ]
497 then
498 (cd $LTPROOT/testcases/kernel/security/selinux-testsuite; make && make install)
499 (cd $LTPROOT/testscripts/; ./test_selinux.sh)
501 ## END => Test Series 25 ##