version 2:
correct patch according with coments from CAI Qian.
---
runltp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++--
runtest/syscalls | 14 ++++++------
2 files changed, 63 insertions(+), 10 deletions(-)
diff --git a/runltp b/runltp
index b6e8b35..0cdba31 100755
--- a/runltp
+++ b/runltp
@@ -107,7 +107,7 @@ usage()
[ -D NUM_PROCS,NUM_FILES,NUM_BYTES,CLEAN_FLAG ] -e [ -f CMDFILES(,...) ] [
-g HTMLFILE]
[ -i NUM_PROCS ] [ -l LOGFILE ] [ -m NUM_PROCS,CHUNKS,BYTES,HANGUP_FLAG ]
-N -n [ -o OUTPUTFILE ] -p -q [ -r LTPROOT ] [ -s PATTERN ] [ -t DURATION ]
- -v [ -w CMDFILEADDR ] [ -x INSTANCES ]
+ -v [ -w CMDFILEADDR ] [ -x INSTANCES ] [ -b DEVICE ] [-B DEVICE_FS_TYPE]
-a EMAIL_TO EMAIL all your Reports to this E-mail Address
-c NUM_PROCS Run LTP under additional background CPU load
@@ -150,6 +150,10 @@ usage()
-v Print more verbose output to screen.
-w CMDFILEADDR Uses wget to get the user's list of testcases.
-x INSTANCES Run multiple instances of this testsuite.
+ -b DEVICE Some tests require an unmounted block device
+ to run correctly.
+ -B DEVICE_FS_TYPE The file system of test block devices.
+
example: ./${0##*/} -c 2 -i 2 -m 2,4,10240,1 -D 2,10,10240,1 -p -q -l
/tmp/result-log.$$ -o /tmp/result-output.$$ -C /tmp/result-failed.$$ -d ${PWD}
@@ -189,7 +193,7 @@ main()
local DEFAULT_FILE_NAME_GENERATION_TIME=`date +"%Y_%b_%d-%Hh_%Mm_%Ss"`
version_date=`head -n 1 $LTPROOT/ChangeLog`
- while getopts a:c:C:d:D:f:ehi:g:l:m:Nno:pqr:s:t:T:vw:x: arg
+ while getopts a:c:C:d:D:f:ehi:g:l:m:Nno:pqr:s:t:T:vw:x:b:B: arg
do case $arg in
a) EMAIL_TO=$OPTARG
ALT_EMAIL_OUT=1;;
@@ -371,7 +375,8 @@ main()
EOF
sleep 10
INSTANCES="-x $OPTARG";;
-
+ b) DEVICE=$OPTARG;;
+ B) DEVICE_FS_TYPE=$OPTARG;;
\?) usage;;
esac
done
@@ -641,6 +646,54 @@ main()
}
}
+ if [ -n "$DEVICE" ]; then
+ sed -i "s|DEVICE|$DEVICE|" ${TMP}/alltests
+ else
+ echo "remove test cases which require the block device."
+ echo "You can specified it by oprion -b"
+ sed -i "/DEVICE/d" ${TMP}/alltests
+ fi
+
+ if [ $? -ne 0 ]; then
+ echo "FATAL: error during prcessing alltests file by sed"
+ exit 1
+ fi
+
+ if [ -n "$DEVICE" ]; then
+ mnt_pnt=`mktemp -d --tmpdir=${TMP} mnt_pnt.XXXXXX`
+ if [ -n "$DEVICE_FS_TYPE" ]; then
+ mount -t $DEVICE_FS_TYPE $DEVICE $mnt_pnt
+ else
+ mount $DEVICE $mnt_pnt
+ fi
+
+ if [ $? -ne 0 ]; then
+ echo "FATAL: can't mount block device $DEVICE."
+ exit 1
+ fi
+
+ if [ -z "$DEVICE_FS_TYPE" ]; then
+ DEVICE_FS_TYPE=`cat /proc/mounts | awk "{if (\\\$1 == \"$DEVICE\")
print \\\$3; }"`
+ echo "determine file system $DEVICE_FS_TYPE on block device
$DEVICE"
+ fi
+
+ umount $DEVICE
+ if [ $? -ne 0 ]; then
+ echo "FATAL: can't umount $DEVICE"
+ exit 1
+ fi
+ rm -rf $mnt_pnt
+ fi
+
+ if [ -n "$DEVICE" ]; then
+ sed -i "s|DEVICE_FS_TYPE|$DEVICE_FS_TYPE|" ${TMP}/alltests
+ fi
+
+ if [ $? -ne 0 ]; then
+ echo "FATAL: error during prcessing alltests file by sed"
+ exit 1
+ fi
+
if [ $RUN_REPEATED -gt 1 ]; then # You need to specify at least more than
1 sequential run, else it runs default
echo "PAN will run these test cases $RUN_REPEATED times....."
echo "Test Tags will be Prepended with ITERATION NO.s....."
diff --git a/runtest/syscalls b/runtest/syscalls
index 45b64e4..67c79c3 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -537,10 +537,10 @@ modify_ldt02 modify_ldt02
# to run correctly. Please see individual test
# code for more information.
#
-#mount01 mount01 -D /dev/...
-#mount02 mount02 -D /dev/...
-#mount03 mount03 -D /dev/...
-#mount04 mount04 -D /dev/...
+mount01 mount01 -D DEVICE -T DEVICE_FS_TYPE
+mount02 mount02 -D DEVICE -T DEVICE_FS_TYPE
+mount03 mount03 -D DEVICE -T DEVICE_FS_TYPE
+mount04 mount04 -D DEVICE -T DEVICE_FS_TYPE
mount1234 test_mount
@@ -1144,9 +1144,9 @@ unlinkat01 unlinkat01
# to run correctly. Please see individual test
# code for more information.
#
-#umount01 umount01 -D /dev/...
-#umount02 umount02 -D /dev/...
-#umount03 umount03 -D /dev/...
+umount01 umount01 -D DEVICE -T DEVICE_FS_TYPE
+umount02 umount02 -D DEVICE -T DEVICE_FS_TYPE
+umount03 umount03 -D DEVICE -T DEVICE_FS_TYPE
umount123 test_umount
--
1.5.6.4
------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list