-
Notifications
You must be signed in to change notification settings - Fork 1
/
runalltests.sh
executable file
·535 lines (463 loc) · 20.4 KB
/
runalltests.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
#!/bin/sh
################################################################################
## ##
## Copyright (c) International Business Machines Corp., 2001 ##
## ##
## This program is free software; you can redistribute it and#or modify ##
## it under the terms of the GNU General Public License as published by ##
## the Free Software Foundation; either version 2 of the License, or ##
## (at your option) any later version. ##
## ##
## This program is distributed in the hope that it will be useful, but ##
## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ##
## for more details. ##
## ##
## You should have received a copy of the GNU General Public License ##
## along with this program; if not, write to the Free Software ##
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
## ##
################################################################################
## File: runalltests.sh ##
## ##
## Description: This script just calls runltp now, and is being phased out. ##
## If you rely on this script for automation reasons, please ##
## ##
## History Subrata Modak <[email protected]> changed the code ##
## to include testing other testcases which are not run by ##
## default, 08/09/2008 ##
## ##
################################################################################
export LTPROOT=${0%/*}
RUNLTP="$LTPROOT/runltp"
echo "*******************************************************************"
echo "*******************************************************************"
echo "** **"
echo "** This script is being re-written to cover all aspects of **"
echo "** testing LTP, which includes running all those tests which **"
echo "** are not run by default with ${RUNLTP##*/} script. Special setup **"
echo "** in system environment will be done to run all those tests **"
echo "** like the File System tests, SELinuxtest, etc **"
echo "** **"
echo "*******************************************************************"
echo "*******************************************************************"
export RUN_BALLISTA=0
export RUN_OPENPOSIX=0
## Set this to 1 if mm-1.4.2.tar.gz is already installed in your system
## from ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz
export RUN_MM_CORE_APIS=0
export LIBMM_INSTALLED=0
## This is required if already not set to /usr/local/lib/ as
## mm-1.4.2.tar.gz gets installed at /usr/local/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/:/lib/
export PATH=$PATH:/sbin/
## Set this to 1 if libaio-0.3.92.tar.gz is already installed in your system
## from http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/libaio-0.3.92.tar.gz
export RUN_AIOTESTS=0
export LIBAIO_INSTALLED=0
## Set this to 1 if libcaps-2.11 or newer is already installed in your system
## from ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2, as well as,
## the libattr is available in the system. The kernel should also have been built
## with the following option: CONFIG_SECURITY_FILE_CAPABILITIES=y
export RUN_FILECAPS=0
export LIBCAPS_INSTALLED=0
export LIBATTR_INSTALLED=0
## Set this to 1 if you wish to execute the stress_cd tests
## Make sure you have FLOPPY inserted, be warned that you
## will loose all data on it after the tests,
export RUN_STRESS_FLOPPY=0
## Set this to 1 if you wish to execute the stress_floppy tests
## Make sure you have CD inserted in your CD-ROM drive,
export RUN_STRESS_CD=0
##Set this to 1 if you wish to run the CPUHOTPLUG tests
export RUN_CPU_HOTPLUG=0
##Set this to 1 if you wish to run the LTP-NETWORK tests. Please refer to:
## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
## for more information on how to run the tests.
export RUN_LTP_NETWORK_TESTS=0
##Set this to 1 if you wish to run the LTP-NETWORK-STRESS tests. Please refer to:
## http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/LTP-Network-test_README.pdf
## and http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/network/stress/README
## for more information on how to run the NETWORK-STRESS tests.
export RUN_LTP_NETWORK_STRESS_TESTS=0
## Set this to 1 if you wish to run the ltp/testscripts/adp tests
export RUN_LTP_ADP_TESTS=0
## Set this to 1 if you wish to run the AUTOFS tests
# REQUIREMENTS:
# 1) System with a floppy device with a floppy disk in it.
# 2) A spare (scratch) disk partition of 100MB or larger.
export RUN_LTP_AUTOFS1_TESTS=0
export RUN_LTP_AUTOFS4_TESTS=0
export DISK_PARTITION1=0
## Set this to 1 if you wish to run the EXPORTFS tests
# DESCRIPTION : A script that will test exportfs on Linux system.
# REQUIREMENTS:
# 1) NFS Server system with rsh enabled between client & server.
# 2) 100MB Disk partition on NFS server.
export RUN_EXPORTFS_TESTS=0
export NFS_SERVER1=xxx
export NFS_SERVER_DISK_PARTITION1=yyy
export NFS_SERVER_FS_TYPE1=zzz
## 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
export RUN_RO_ONLY_FS_TESTS=0
export READ_ONLY_DIRECTORY1=xxxx
## Set this to 1 if you wish to run the ISOFS tests
# REQUIREMENTS:
# Must have root access to execute this script
export RUN_ISOFS_TESTS=0
## Set this to 1 if you wish to run the DMMAPPER tests
#Note: In order to run this test, you must turn on "device mapper"
# component in kernel (it is under device drivers item when you
# run make menuconfig); and you must install userspace supporting
# files (libdevmapper and dmsetup). They are in the device-mapper
# package. You can download it from http://www.sistina.com. Follow
# the README/INSTALL file within the package to install it.
export RUN_DMMAPPER_TESTS=0
export DISK_PARTITION2=xxxxx
export DISK_PARTITION3=yyyyy
## Set this to 1 if you wish to run the FSLVM tests
#Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
# - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
# you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
# - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
# Once these tests are started all data in the partitions you point to will be destroyed.
export RUN_FSLVM_TESTS=0
export DISK_PARTITION4=xxxxxx
export DISK_PARTITION5=yyyyyy
export DISK_PARTITION6=zzzzzz
export DISK_PARTITION7=iiiiii
export NFS_PARTITION1=jjjjjj
## Set this to 1 if you wish to run the FSNOLVM tests
#Note: fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
# - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
# you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
# - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
# Once these tests are started all data in the partitions you point to will be destroyed.
export RUN_FSNOLVM_TESTS=0
## Set this to 1 if you wish to run the LTP SCSI DEBUG tests
#Note: Build scsi_debug as a module first before running the test
export RUN_LTP_SCSI_DEBUG_TEST=0
## Set this to 1 if you wish to run the LTP SYSFS tests
#Note: Must have root access to execute this script.
# USAGE : sysfs.sh [ -k <kernel_module> ]
# DESCRIPTION : A script that will test sysfs on Linux system.
# REQUIREMENTS: CONFIG_DUMMY must have been used to build kernel, and the
# dummy network module must exist.
export RUN_LTP_SYSFS_TEST=0
export KERNEL_MODULE1=xxxxxxx
## Set this to 1 if you wish to run the LTP TIRPC tests
export RUN_LTP_TIRPC_TEST=0
##Set this to 1 if you wish to run the dma_thread_diotest7 test
export RUN_DMA_THREAD_DIOTEST7=0
##Set this to 1 if you wish to run the Controller area network (CAN)
##protocol support tests. You would also like to review the Kernel
##config options need to be set for this at ltp/README
export RUN_CONTROLLER_AREA_NETWORK_TESTS=0
##Set this to 1 if you wish to run the SMACK Security tests
## Remember that you cannot run both the SELINUX and SMACK tests at a time,
## as both of them cannot be tested in the same running kernel
export RUN_SMACK_SECURITY_TESTS=0
##Set this to 1 if you wish to run the Basic PERFORMANCE COUNTER tests
export RUN_PERFORMANCE_COUNTERS_TESTS=0
export LTP_VERSION=`"${RUNLTP}" -e`
export TEST_START_TIME=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
export HARDWARE_TYPE=$(uname -i)
export HOSTNAME=$(uname -n)
export KERNEL_VERSION=$(uname -r)
export HTML_OUTPUT_FILE_NAME=$LTP_VERSION_$HOSTNAME_$KERNEL_VERSION_$HARDWARE_TYPE_$TEST_START_TIME.html
if ! cd "${LTPROOT}"; then
rc=$?
echo "${0##*/}: ERROR : Could not cd to ${LTPROOT}"
exit $rc
fi
## The First one i plan to run is the default LTP run ##
## START => Test Series 1 ##
echo "Running Default LTP..."
"${RUNLTP}" -g $HTML_OUTPUT_FILE_NAME
printf "Completed running Default LTP\n\n\n"
## END => Test Series 1 ##
## The next one i plan to run is ballista ##
## START => Test Series 2 ##
if [ $RUN_BALLISTA -eq 1 ]
then
echo "Running Ballista..."
export TEST_START_TIME=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
"${RUNLTP}" -f ballista -o $LTP_VERSION-BALLISTA_RUN_ON-$HOSTNAME-$KERNEL_VERSION-$HARDWARE_TYPE-$TEST_START_TIME.out
printf "Completed running Ballista\n\n\n"
fi
## END => Test Series 2 ##
## The next one i plan to run is open_posix_testsuite ##
## START => Test Series 3 ##
if [ $RUN_OPENPOSIX -eq 1 ]
then
echo "Running Open Posix Tests..."
(cd testcases/open_posix_testsuite; make)
printf "Completed running Open Posix Tests\n\n\n"
fi
## END => Test Series 3 ##
## The next one i plan to run is ##
## ltp/testcases/kernel/mem/libmm/mm_core_apis ##
## START => Test Series 4 ##
if [ $RUN_MM_CORE_APIS -eq 1 ]
then
echo "Initializing ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
# Check to see if User is Root
if [ $(id -ru) -ne 0 ]
then
echo -n "You need to be root to Install libmm and run "
echo -n "mem/libmm/mm_core_apis; aborting "
echo "ltp/testcases/kernel/mem/libmm/mm_core_apis"
else
if [ $LIBMM_INSTALLED -ne 1 ]
then
echo Installing libmm-1.4.2 .............
(cd /tmp;
wget -c ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz;
tar -xzf mm-1.4.2.tar.gz;
cd mm-1.4.2;
./configure && make all install)
rm -rf /tmp/mm-1.4.2*
echo "libmm-1.4.2 Installed ............."
else
echo "libmm-1.4.2 already installed in your system"
fi
echo -n "Running "
echo "ltp/testcases/kernel/mem/libmm/mm_core_apis ..."
(make -C testcases/kernel/mem/libmm all install;
$LTPROOT/testcases/bin/mm_core_apis; )
fi
printf "Completed running ltp/testcases/kernel/mem/libmm/mm_core_apis...\n\n\n"
fi
## END => Test Series 4 ##
## The next one i plan to run is ##
## ltp/testcases/kernel/io/aio ##
## START => Test Series 5 ##
if [ $RUN_AIOTESTS -eq 1 ]
then
echo "Initializing ltp/testcases/kernel/io/aio ..."
# Check to see if User is Root
if [ $(id -ru) -ne 0 ]
then
echo -n "You need to be root to Install libaio-0.3.92 and run"
echo -n "ltp/testcases/kernel/io/aio; aborting "
echo "ltp/testcases/kernel/io/aio"
else
if [ $LIBAIO_INSTALLED -ne 1 ]
then
echo "Installing libaio-0.3.92............."
(cd /tmp;
wget -c http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/libaio-0.3.92.tar.gz;
tar -xzf libaio-0.3.92.tar.gz;
make -C libaio-0.3.92 all install)
rm -rf /tmp/libaio-0.3.92*
echo "libaio-0.3.92 Installed ............."
else
echo "libaio-0.3.92 already installed in your system"
fi
# XXX (garrcoop): this needs to be fixed so that it's callable
# via standalone runltp in a standard installed tree.
echo "Building & Running ltp/testcases/kernel/io/aio..."
(make -C testcases/kernel/io/aio all;
./aio01/aio01;
./aio02/runfstests.sh -a aio02/cases/aio_tio;
make clean 1>&2 > /dev/null )
printf "Completed running ltp/testcases/kernel/io/aio...\n\n\n"
fi
fi
## END => Test Series 5 ##
## The next one i plan to run is ##
## ltp/testcases/kernel/security/filecaps ##
## START => Test Series 6 ##
if [ $RUN_FILECAPS -eq 1 ]
then
echo "Initializing ltp/testcases/kernel/security/filecaps ..."
# Check to see if User is Root
if [ $(id -ru) -ne 0 ]
then
echo -n "You need to be root to Install libcaps and run "
echo -n "ltp/testcases/kernel/security/filecaps; aborting "
echo "ltp/testcases/kernel/security/filecaps"
else
if [ $LIBCAPS_INSTALLED -ne 1 ]
then
echo "Installing libcaps............."
(cd /tmp;
wget -c ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.14.tar.gz;
tar -xzf libcap-2.14.tar.gz;
make -C libcap-2.14 all install)
rm -rf /tmp/libcap-2.14*
echo "libcaps Installed ............."
else
echo "libcaps already installed in your system"
fi
echo -n "Building & Running "
echo "ltp/testcases/kernel/security/filecaps"
make -C ltp/testcases/kernel/security/filecaps all install
"${RUNLTP}" -f filecaps
printf "Completed running ltp/testcases/kernel/io/aio...\n\n\n"
fi
fi
## END => Test Series 6 ##
## The next one i plan to run is tpm_tools ##
## START => Test Series 7 ##
"${RUNLTP}" -f tpm_tools
## END => Test Series 7 ##
## The next one i plan to run is tcore_patch_test_suites
## START => Test Series 8 ##
"${RUNLTP}" -f tcore
## END => Test Series 8 ##
## The next one i plan to run is stress_cd tests
## START => Test Series 9 ##
if [ $RUN_STRESS_CD -eq 1 ]
then
"${RUNLTP}" -f io_cd
fi
## END => Test Series 9 ##
## The next one i plan to run is stress_floppy tests
## START => Test Series 10 ##
if [ $RUN_STRESS_FLOPPY -eq 1 ]
then
"${RUNLTP}" -f io_floppy
fi
## END => Test Series 10 ##
## The next one i plan to run is CPUHOTPLUG tests
## START => Test Series 11 ##
if [ $RUN_CPU_HOTPLUG -eq 1 ]
then
"${RUNLTP}" -f cpuhotplug
fi
## END => Test Series 11 ##
## The next one i plan to run are the LTP Network tests
## START => Test Series 12 ##
if [ $RUN_LTP_NETWORK_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./networktests.sh)
fi
## END => Test Series 12 ##
## The next one i plan to run are the LTP Network Stress tests
## START => Test Series 13 ##
if [ $RUN_LTP_NETWORK_STRESS_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./networkstress.sh)
fi
## END => Test Series 13 ##
## The next one i plan to run are the LTP ADP tests
## START => Test Series 14 ##
if [ $RUN_LTP_ADP_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./adp.sh -d 3 -n 100)
fi
## END => Test Series 14 ##
## The next one i plan to run are the LTP AUTOFS tests
## START => Test Series 15 ##
if [ $RUN_LTP_AUTOFS1_TESTS -eq 1 ]
then
if [ $DISK_PARTITION1 ]
then
(cd $LTPROOT/testscripts/; ./autofs1.sh $DISK_PARTITION1)
else
echo "Disk Partition not set. Aborting running AUTOFS1"
fi
fi
if [ $RUN_LTP_AUTOFS4_TESTS -eq 1 ]
then
if [ $DISK_PARTITION1 ]
then
(cd $LTPROOT/testscripts/; ./autofs4.sh $DISK_PARTITION1)
else
echo "Disk Partition not set. Aborting running AUTOFS4"
fi
fi
## END => Test Series 15 ##
## The next one i plan to run are the LTP EXPORTFS tests
## START => Test Series 16 ##
if [ $RUN_EXPORTFS_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./exportfs.sh -h $NFS_SERVER1 -d $NFS_SERVER_DISK_PARTITION1 -t $NFS_SERVER_FS_TYPE1)
fi
## END => Test Series 16 ##
## The next one i plan to run the FS tests on READ ONLY File Systems
## START => Test Series 17 ##
if [ $RUN_RO_ONLY_FS_TESTS -eq 1 ]
then
(cd $READ_ONLY_DIRECTORY1; $LTPROOT/testscripts/test_robind.sh)
fi
## END => Test Series 17 ##
## The next one i plan to run the ISOFS tests
## START => Test Series 18 ##
if [ $RUN_ISOFS_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./isofs.sh)
fi
## END => Test Series 18 ##
## The next one i plan to run the DMMAPPER tests
## START => Test Series 19 ##
if [ $RUN_DMMAPPER_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./ltpdmmapper.sh -a $DISK_PARTITION2 -b $DISK_PARTITION3)
fi
## END => Test Series 19 ##
## The next one i plan to run the FSLVM tests
## START => Test Series 20 ##
if [ $RUN_FSLVM_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./ltpfslvm.sh -a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
fi
## END => Test Series 20 ##
## The next one i plan to run the FSNOLVM tests
## START => Test Series 21 ##
if [ $RUN_FSNOLVM_TESTS -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./ltpfsnolvm.sh -a $DISK_PARTITION4 -b $DISK_PARTITION5 -c $DISK_PARTITION6 -d $DISK_PARTITION7 -n $NFS_PARTITION1)
fi
## END => Test Series 21 ##
## The next one i plan to run the LTP SCSI DEBUG tests
## START => Test Series 22 ##
if [ $RUN_LTP_SCSI_DEBUG_TEST -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./ltp-scsi_debug.sh)
fi
## END => Test Series 22 ##
## The next one i plan to run the LTP SYSFS tests
## START => Test Series 23 ##
if [ $RUN_LTP_SYSFS_TEST -eq 1 ]
then
(cd $LTPROOT/testscripts/; ./sysfs.sh -k $KERNEL_MODULE1)
fi
## END => Test Series 23 ##
## The next one i plan to run the LTP TIRPC tests
## START => Test Series 24 ##
if [ $RUN_LTP_TIRPC_TEST -eq 1 ]
then
"${RUNLTP}" -f rpctirpc
fi
## END => Test Series 24 ##
## The next one i plan to run the DMA_THREAD_DIOTEST7 tests
## START => Test Series 25 ##
if [ $RUN_DMA_THREAD_DIOTEST7 -eq 1 ]
then
"${RUNLTP}" -f test_dma_thread_diotest7
fi
## END => Test Series 25 ##
## The next one i plan to run the Controller area network
## (CAN) protocol support tests
## START => Test Series 26 ##
if [ $RUN_CONTROLLER_AREA_NETWORK_TESTS -eq 1 ]
then
"${RUNLTP}" -f can
fi
## END => Test Series 26 ##
## The next one i plan to run the SMACK SECURITY tests
## START => Test Series 27 ##
if [ $RUN_SMACK_SECURITY_TESTS -eq 1 ]
then
"${RUNLTP}" -f smack
fi
## END => Test Series 27 ##
## The next one i plan to run the PERFORMANCE COUNTERS tests
## START => Test Series 28 ##
if [ $RUN_PERFORMANCE_COUNTERS_TESTS -eq 1 ]
then
"${RUNLTP}" -f perfcounters
fi
## END => Test Series 28 ##