2 ################################################################################
4 ## Copyright (c) International Business Machines Corp., 2001 ##
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. ##
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. ##
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 ##
20 ################################################################################
21 ## File: runalltests.sh ##
23 ## Description: This script just calls runltp now, and is being phased out. ##
24 ## If you rely on this script for automation reasons, please ##
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 ##
30 ################################################################################
32 export LTPROOT
=${0%/*}
33 RUNLTP
="$LTPROOT/runltp"
35 echo "*******************************************************************"
36 echo "*******************************************************************"
38 echo "** This script is being re-written to cover all aspects of **"
39 echo "** testing LTP, which includes running all those tests which **"
40 echo "** are not run by default with $RUNLTP script. Special setup **"
41 echo "** in system environment will be done to run all those tests **"
42 echo "** like the File System tests, SELinuxtest, etc **"
44 echo "*******************************************************************"
45 echo "*******************************************************************"
48 export RUN_OPENPOSIX
=0
49 ## Set this to 1 if mm-1.4.2.tar.gz is already installed in your system
50 ## from ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz
51 export RUN_MM_CORE_APIS
=0
52 export LIBMM_INSTALLED
=0
53 ## This is required if already not set to /usr/local/lib/ as
54 ## mm-1.4.2.tar.gz gets installed at /usr/local/lib/
55 export LD_LIBRARY_PATH
=$LD_LIBRARY_PATH:/usr
/local
/lib
/:/lib
/
56 export PATH
=$PATH:/sbin
/
58 ## Set this to 1 if libaio-0.3.92.tar.gz is already installed in your system
59 ## from http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/libaio-0.3.92.tar.gz
61 export LIBAIO_INSTALLED
=0
63 ## Set this to 1 if libcaps-2.11 or newer is already installed in your system
64 ## from ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2, as well as,
65 ## the libattr is available in the system. The kernel should also have been built
66 ## with the following option: CONFIG_SECURITY_FILE_CAPABILITIES=y
68 export LIBCAPS_INSTALLED
=0
69 export LIBATTR_INSTALLED
=0
71 ## Set this to 1 if you wish to execute the stress_cd tests
72 ## Make sure you have FLOPPY inserted, be warned that you
73 ## will loose all data on it after the tests,
74 export RUN_STRESS_FLOPPY
=0
76 ## Set this to 1 if you wish to execute the stress_floppy tests
77 ## Make sure you have CD inserted in your CD-ROM drive,
78 export RUN_STRESS_CD
=0
80 ##Set this to 1 if you wish to run the CPUHOTPLUG tests
81 export RUN_CPU_HOTPLUG
=0
83 ##Set this to 1 if you wish to run the LTP-NETWORK tests. Please refer to:
84 ## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
85 ## for more information on how to run the tests.
86 export RUN_LTP_NETWORK_TESTS
=0
88 ##Set this to 1 if you wish to run the LTP-NETWORK-STRESS tests. Please refer to:
89 ## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
90 ## and http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/stress/README
91 ## for more information on how to run the NETWORK-STRESS tests.
92 export RUN_LTP_NETWORK_STRESS_TESTS
=0
94 ## Set this to 1 if you wish to run the ltp/testscripts/adp tests
95 export RUN_LTP_ADP_TESTS
=0
97 ## Set this to 1 if you wish to run the AUTOFS tests
99 # 1) System with a floppy device with a floppy disk in it.
100 # 2) A spare (scratch) disk partition of 100MB or larger.
101 export RUN_LTP_AUTOFS1_TESTS
=0
102 export RUN_LTP_AUTOFS4_TESTS
=0
103 export DISK_PARTITION1
=0
105 ## Set this to 1 if you wish to run the EXPORTFS tests
106 # DESCRIPTION : A script that will test exportfs on Linux system.
108 # 1) NFS Server system with rsh enabled between client & server.
109 # 2) 100MB Disk partition on NFS server.
110 export RUN_EXPORTFS_TESTS
=0
111 export NFS_SERVER1
=xxx
112 export NFS_SERVER_DISK_PARTITION1
=yyy
113 export NFS_SERVER_FS_TYPE1
=zzz
116 ## 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
117 export RUN_RO_ONLY_FS_TESTS
=0
118 export READ_ONLY_DIRECTORY1
=xxxx
120 ## Set this to 1 if you wish to run the ISOFS tests
122 # Must have root access to execute this script
123 export RUN_ISOFS_TESTS
=0
125 ## Set this to 1 if you wish to run the DMMAPPER tests
126 #Note: In order to run this test, you must turn on "device mapper"
127 # component in kernel (it is under device drivers item when you
128 # run make menuconfig); and you must install userspace supporting
129 # files (libdevmapper and dmsetup). They are in the device-mapper
130 # package. You can download it from http://www.sistina.com. Follow
131 # the README/INSTALL file within the package to install it.
132 export RUN_DMMAPPER_TESTS
=0
133 export DISK_PARTITION2
=xxxxx
134 export DISK_PARTITION3
=yyyyy
136 ## Set this to 1 if you wish to run the FSLVM tests
137 #Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
138 # - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
139 # you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
140 # - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
141 # Once these tests are started all data in the partitions you point to will be destroyed.
142 export RUN_FSLVM_TESTS
=0
143 export DISK_PARTITION4
=xxxxxx
144 export DISK_PARTITION5
=yyyyyy
145 export DISK_PARTITION6
=zzzzzz
146 export DISK_PARTITION7
=iiiiii
147 export NFS_PARTITION1
=jjjjjj
149 ## Set this to 1 if you wish to run the FSNOLVM tests
150 #Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
151 # - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
152 # you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
153 # - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
154 # Once these tests are started all data in the partitions you point to will be destroyed.
155 export RUN_FSNOLVM_TESTS
=0
157 ## Set this to 1 if you wish to run the LTP SCSI DEBUG tests
158 #Note: Build scsi_debug as a module first before running the test
159 export RUN_LTP_SCSI_DEBUG_TEST
=0
161 ## Set this to 1 if you wish to run the LTP SYSFS tests
162 #Note: Must have root access to execute this script.
163 # USAGE : sysfs.sh [ -k <kernel_module> ]
164 # DESCRIPTION : A script that will test sysfs on Linux system.
165 # REQUIREMENTS: CONFIG_DUMMY must have been used to build kernel, and the
166 # dummy network module must exist.
167 export RUN_LTP_SYSFS_TEST
=0
168 export KERNEL_MODULE1
=xxxxxxx
170 ## Set this to 1 if you wish to run the LTP TIRPC tests
171 export RUN_LTP_TIRPC_TEST
=0
173 ##Set this to 1 if you wish to run the SE-Linux tests
174 # These testcases test the SELinux Security Module.
175 # A kernel with SELinux configured, and SELinux policy and userspace
176 # tools installed, are required to build and run the SELinux testsuite.
177 # Also, /usr/sbin should be included in PATH to ensure SELinux utilities
178 # such as getenforce are found. The test_selinux.sh script adds /usr/sbin
180 # You must also have the line:
182 # in your /etc/selinux/semanage.conf file as the test policy will violate some
183 # of the neverallow rules in the base policy. This line may already be present
184 # depending on your distribution; if not, add it before running the test suite
185 # and remove it when done. For more info, please refer to:
186 # http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/security/selinux-testsuite/README
187 export RUN_SE_LINUX_TESTS
=0
189 ##Set this to 1 if you wish to run the dma_thread_diotest7 test
190 export RUN_DMA_THREAD_DIOTEST7
=0
192 ##Set this to 1 if you wish to run the Controller area network (CAN)
193 ##protocol support tests. You would also like to review the Kernel
194 ##config options need to be set for this at ltp/README
195 export RUN_CONTROLLER_AREA_NETWORK_TESTS
=0
197 ##Set this to 1 if you wish to run the SMACK Security tests
198 ## Remember that you cannot run both the SELINUX and SMACK tests at a time,
199 ## as both of them cannot be tested in the same running kernel
200 export RUN_SMACK_SECURITY_TESTS
=0
202 ##Set this to 1 if you wish to run the Basic PERFORMANCE COUNTER tests
203 export RUN_PERFORMANCE_COUNTERS_TESTS
=0
205 export LTP_VERSION
=`"${RUNLTP}" -e`
206 export TEST_START_TIME
=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
207 export HARDWARE_TYPE
=$
(uname
-i)
208 export HOSTNAME
=$
(uname
-n)
209 export KERNEL_VERSION
=$
(uname
-r)
210 export HTML_OUTPUT_FILE_NAME
=$LTP_VERSION_$HOSTNAME_$KERNEL_VERSION_$HARDWARE_TYPE_$TEST_START_TIME.html
212 if ! cd "${LTPROOT}"; then
214 echo "${0##*/}: ERROR : Could not cd to ${LTPROOT}"
218 ## The First one i plan to run is the default LTP run ##
219 ## START => Test Series 1 ##
220 echo "Running Default LTP..."
221 "${RUNLTP}" -g $HTML_OUTPUT_FILE_NAME
222 printf "Completed running Default LTP\n\n\n"
223 ## END => Test Series 1 ##
225 ## The next one i plan to run is ballista ##
226 ## START => Test Series 2 ##
227 if [ $RUN_BALLISTA -eq 1 ]
229 echo "Running Ballista..."
230 export TEST_START_TIME
=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
231 "${RUNLTP}" -f ballista
-o $LTP_VERSION-BALLISTA_RUN_ON-$HOSTNAME-$KERNEL_VERSION-$HARDWARE_TYPE-$TEST_START_TIME.out
232 printf "Completed running Ballista\n\n\n"
234 ## END => Test Series 2 ##
236 ## The next one i plan to run is open_posix_testsuite ##
237 ## START => Test Series 3 ##
238 if [ $RUN_OPENPOSIX -eq 1 ]
240 echo "Running Open Posix Tests..."
241 (cd testcases
/open_posix_testsuite
; make)
242 printf "Completed running Open Posix Tests\n\n\n"
244 ## END => Test Series 3 ##
247 ## The next one i plan to run is ##
248 ## ltp/testcases/kernel/mem/libmm/mm_core_apis ##
249 ## START => Test Series 4 ##
250 if [ $RUN_MM_CORE_APIS -eq 1 ]
252 echo "Initializing ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
253 # Check to see if User is Root
254 if [ $
(id
-u) -ne 0 ]
256 echo You need to be root to Install libmm and run mem
/libmm
/mm_core_apis
257 echo Aborting ltp
/testcases
/kernel
/mem
/libmm
/mm_core_apis
259 if [ $LIBMM_INSTALLED -ne 1 ]
261 echo Installing libmm-1.4
.2 .............
263 wget
-c ftp://ftp.ossp.org
/pkg
/lib
/mm
/mm-1.4
.2.
tar.gz
; \
264 tar -xzf mm-1.4
.2.
tar.gz
; \
266 .
/configure
&& make && make install )
267 rm -rf /tmp
/mm-1.4
.2*
268 echo libmm-1.4
.2 Installed .............
270 echo libmm-1.4
.2 already installed
in your system
272 echo "Running ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
273 (cd testcases
/kernel
/mem
/libmm
; \
276 $LTPROOT/testcases
/bin
/mm_core_apis
; )
278 printf "Completed running ltp/testcases/kernel/mem/libmm/mm_core_apis...\n\n\n"
280 ## END => Test Series 4 ##
283 ## The next one i plan to run is ##
284 ## ltp/testcases/kernel/io/aio ##
285 ## START => Test Series 5 ##
286 if [ $RUN_AIOTESTS -eq 1 ]
288 echo "Initializing ltp/testcases/kernel/io/aio ..."
289 # Check to see if User is Root
290 if [ $
(id
-u) -ne 0 ]
292 echo You need to be root to Install libaio-0.3
.92 and run ltp
/testcases
/kernel
/io
/aio
293 echo Aborting ltp
/testcases
/kernel
/io
/aio
295 if [ $LIBAIO_INSTALLED -ne 1 ]
297 echo Installing libaio-0.3
.92.............
299 wget
-c http
://www.kernel.org
/pub
/linux
/kernel
/people
/bcrl
/aio
/libaio-0.3
.92.
tar.gz
; \
300 tar -xzf libaio-0.3
.92.
tar.gz
; \
302 make > /dev
/null
&& make install > /dev
/null
)
303 rm -rf /tmp
/libaio-0.3
.92*
304 echo libaio-0.3
.92 Installed .............
306 echo libaio-0.3
.92 already installed
in your system
308 echo "Building & Running ltp/testcases/kernel/io/aio..."
309 (cd testcases
/kernel
/io
/aio
; \
312 .
/aio02
/runfstests.sh
-a aio02
/cases
/aio_tio
; \
313 make clean
1>&2 > /dev
/null
)
314 printf "Completed running ltp/testcases/kernel/io/aio...\n\n\n"
317 ## END => Test Series 5 ##
321 ## The next one i plan to run is ##
322 ## ltp/testcases/kernel/security/filecaps ##
323 ## START => Test Series 6 ##
324 if [ $RUN_FILECAPS -eq 1 ]
326 echo "Initializing ltp/testcases/kernel/security/filecaps ..."
327 # Check to see if User is Root
328 if [ $
(id
-u) -ne 0 ]
330 echo You need to be root to Install libcaps and run ltp
/testcases
/kernel
/security
/filecaps
331 echo Aborting ltp
/testcases
/kernel
/security
/filecaps
333 if [ $LIBCAPS_INSTALLED -ne 1 ]
335 echo Installing libcaps.............
337 wget
-c ftp://ftp.kernel.org
/pub
/linux
/libs
/security
/linux-privs
/libcap
2/libcap-2.14.
tar.gz
; \
338 tar -xzf libcap-2.14.
tar.gz
; \
340 make > /dev
/null
&& make install > /dev
/null
)
341 rm -rf /tmp
/libcap-2.14
*
342 echo libcaps Installed .............
344 echo libcaps already installed
in your system
346 echo "Building & Running ltp/testcases/kernel/security/filecaps"
347 (cd ltp
/testcases
/kernel
/security
/filecaps
; \
348 make && make install > /dev
/null
; )
349 "${RUNLTP}" -f filecaps
350 printf "Completed running ltp/testcases/kernel/io/aio...\n\n\n"
353 ## END => Test Series 6 ##
356 ## The next one i plan to run is tpm_tools ##
357 ## START => Test Series 7 ##
358 "${RUNLTP}" -f tpm_tools
359 ## END => Test Series 7 ##
361 ## The next one i plan to run is tcore_patch_test_suites
362 ## START => Test Series 8 ##
364 ## END => Test Series 8 ##
367 ## The next one i plan to run is stress_cd tests
368 ## START => Test Series 9 ##
369 if [ $RUN_STRESS_CD -eq 1 ]
373 ## END => Test Series 9 ##
375 ## The next one i plan to run is stress_floppy tests
376 ## START => Test Series 10 ##
377 if [ $RUN_STRESS_FLOPPY -eq 1 ]
379 "${RUNLTP}" -f io_floppy
381 ## END => Test Series 10 ##
383 ## The next one i plan to run is CPUHOTPLUG tests
384 ## START => Test Series 11 ##
385 if [ $RUN_CPU_HOTPLUG -eq 1 ]
387 "${RUNLTP}" -f cpuhotplug
389 ## END => Test Series 11 ##
391 ## The next one i plan to run are the LTP Network tests
392 ## START => Test Series 12 ##
393 if [ $RUN_LTP_NETWORK_TESTS -eq 1 ]
395 (cd $LTPROOT/testscripts
/; .
/networktests.sh
)
397 ## END => Test Series 12 ##
399 ## The next one i plan to run are the LTP Network Stress tests
400 ## START => Test Series 13 ##
401 if [ $RUN_LTP_NETWORK_STRESS_TESTS -eq 1 ]
403 (cd $LTPROOT/testscripts
/; .
/networkstress.sh
)
405 ## END => Test Series 13 ##
408 ## The next one i plan to run are the LTP ADP tests
409 ## START => Test Series 14 ##
410 if [ $RUN_LTP_ADP_TESTS -eq 1 ]
412 (cd $LTPROOT/testscripts
/; .
/adp.sh
-d 3 -n 100)
414 ## END => Test Series 14 ##
417 ## The next one i plan to run are the LTP AUTOFS tests
418 ## START => Test Series 15 ##
419 if [ $RUN_LTP_AUTOFS1_TESTS -eq 1 ]
421 if [ $DISK_PARTITION1 ]
423 (cd $LTPROOT/testscripts
/; .
/autofs1.sh
$DISK_PARTITION1)
425 echo Disk Partition not
set. Aborting running AUTOFS1
428 if [ $RUN_LTP_AUTOFS4_TESTS -eq 1 ]
430 if [ $DISK_PARTITION1 ]
432 (cd $LTPROOT/testscripts
/; .
/autofs4.sh
$DISK_PARTITION1)
434 echo Disk Partition not
set. Aborting running AUTOFS4
437 ## END => Test Series 15 ##
440 ## The next one i plan to run are the LTP EXPORTFS tests
441 ## START => Test Series 16 ##
442 if [ $RUN_EXPORTFS_TESTS -eq 1 ]
444 (cd $LTPROOT/testscripts
/; .
/exportfs.sh
-h $NFS_SERVER1 -d $NFS_SERVER_DISK_PARTITION1 -t $NFS_SERVER_FS_TYPE1)
446 ## END => Test Series 16 ##
449 ## The next one i plan to run the FS tests on READ ONLY File Systems
450 ## START => Test Series 17 ##
451 if [ $RUN_RO_ONLY_FS_TESTS -eq 1 ]
453 (cd $READ_ONLY_DIRECTORY1; sh
$LTPROOT/testscripts
/test_robind.sh
)
455 ## END => Test Series 17 ##
458 ## The next one i plan to run the ISOFS tests
459 ## START => Test Series 18 ##
460 if [ $RUN_ISOFS_TESTS -eq 1 ]
462 (cd $LTPROOT/testscripts
/; .
/isofs.sh
)
464 ## END => Test Series 18 ##
467 ## The next one i plan to run the DMMAPPER tests
468 ## START => Test Series 19 ##
469 if [ $RUN_DMMAPPER_TESTS -eq 1 ]
471 (cd $LTPROOT/testscripts
/; .
/ltpdmmapper.sh
-a $DISK_PARTITION2 -b $DISK_PARTITION3)
473 ## END => Test Series 19 ##
476 ## The next one i plan to run the FSLVM tests
477 ## START => Test Series 20 ##
478 if [ $RUN_FSLVM_TESTS -eq 1 ]
480 (cd $LTPROOT/testscripts
/; .
/ltpfslvm.sh
-a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
482 ## END => Test Series 20 ##
485 ## The next one i plan to run the FSNOLVM tests
486 ## START => Test Series 21 ##
487 if [ $RUN_FSNOLVM_TESTS -eq 1 ]
489 (cd $LTPROOT/testscripts
/; .
/ltpfsnolvm.sh
-a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
491 ## END => Test Series 21 ##
493 ## The next one i plan to run the LTP SCSI DEBUG tests
494 ## START => Test Series 22 ##
495 if [ $RUN_LTP_SCSI_DEBUG_TEST -eq 1 ]
497 (cd $LTPROOT/testscripts
/; .
/ltp-scsi_debug.sh
)
499 ## END => Test Series 22 ##
501 ## The next one i plan to run the LTP SYSFS tests
502 ## START => Test Series 23 ##
503 if [ $RUN_LTP_SYSFS_TEST -eq 1 ]
505 (cd $LTPROOT/testscripts
/; .
/sysfs.sh
-k $KERNEL_MODULE1)
507 ## END => Test Series 23 ##
509 ## The next one i plan to run the LTP TIRPC tests
510 ## START => Test Series 24 ##
511 if [ $RUN_LTP_TIRPC_TEST -eq 1 ]
513 "${RUNLTP}" -f rpctirpc
515 ## END => Test Series 24 ##
517 ## The next one i plan to run the LTP SE-Linux tests
518 ## START => Test Series 25 ##
519 if [ $RUN_SE_LINUX_TESTS -eq 1 ]
521 (cd $LTPROOT/testcases
/kernel
/security
/selinux-testsuite
; make && make install)
522 (cd $LTPROOT/testscripts
/; .
/test_selinux.sh
)
524 ## END => Test Series 25 ##
526 ## The next one i plan to run the DMA_THREAD_DIOTEST7 tests
527 ## START => Test Series 26 ##
528 if [ $RUN_DMA_THREAD_DIOTEST7 -eq 1 ]
530 "${RUNLTP}" -f test_dma_thread_diotest7
532 ## END => Test Series 26 ##
534 ## The next one i plan to run the Controller area network
535 ## (CAN) protocol support tests
536 ## START => Test Series 27 ##
537 if [ $RUN_CONTROLLER_AREA_NETWORK_TESTS -eq 1 ]
541 ## END => Test Series 27 ##
543 ## The next one i plan to run the SMACK SECURITY tests
544 ## START => Test Series 28 ##
545 if [ $RUN_SMACK_SECURITY_TESTS -eq 1 ]
549 ## END => Test Series 28 ##
551 ## The next one i plan to run the PERFORMANCE COUNTERS tests
552 ## START => Test Series 29 ##
553 if [ $RUN_PERFORMANCE_COUNTERS_TESTS -eq 1 ]
555 (cd $LTPROOT/testcases
/kernel
/performance_counters
; make && make install)
556 "${RUNLTP}" -f perfcounters
558 ## END => Test Series 29 ##