---
 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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to