All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramesh <rameshyr@linux.vnet.ibm.com>
To: ltp-list@lists.sourceforge.net
Subject: [LTP] [PATCH] runltp: syscalls/mount0* and inotify03 tests are getting skipped from runltp's execution
Date: Fri, 05 Apr 2013 15:48:46 +0530	[thread overview]
Message-ID: <515EA506.8060305@linux.vnet.ibm.com> (raw)

Some of the tests which require a block device for their execution are 
skipped
when runltp is run without any block device being specified on 
commandline.Most
of such tests are from syscalls group and as a work around to make these 
tests
run even when no block device is specified,I have made use of loopback 
device
to create a block device with ext4 filesystem. So,runltp is modified to 
create
a block device and set the values for DEVICE and DEVICE_FS_TYPE accordingly.

Following are the skipped tests,
----
inotify03 inotify03 -D DEVICE -T DEVICE_FS_TYPE
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
umount01 umount01 -D DEVICE -T DEVICE_FS_TYPE
umount02 umount02 -D DEVICE -T DEVICE_FS_TYPE
umount03 umount03 -D DEVICE -T DEVICE_FS_TYPE
----

Please review the patch and let me know if any more changes are needed.


Signed-off-by: Ramesh YR <rameshyr@linux.vnet.ibm.com>
---
  runltp |   52 +++++++++++++++++++++++++++++++++++++++++++++++-----
  1 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/runltp b/runltp
index 04cc690..d7e3f0d 100755
--- a/runltp
+++ b/runltp
@@ -681,14 +681,22 @@ main()

      if [ -n "$DEVICE" ]; then
          sed -i "s|DEVICE|$DEVICE|"  ${TMP}/alltests
+    RC=$?
      else
-        echo "remove test cases which require the block device."
-        echo "You can specify it with option -b"
-        sed -i "/DEVICE/d"  ${TMP}/alltests
+    create_block
+    if [ $? -eq 0 ]; then
+        sed -i "s|DEVICE|$DEVICE|"  ${TMP}/alltests
+        RC=$?
+    else
+        echo -e "no block device was specified on commandline.\n Block 
device could not be created using loopback device"
+        echo -e "Tests which require block device are disabled.\n You 
can specify it with option -b"
+        sed -i "/DEVICE/d"  ${TMP}/alltests
+        RC=$?
+    fi
      fi

-    if [ $? -ne 0 ]; then
-            echo "FATAL: error during prcessing alltests file by sed"
+    if [ $RC -ne 0 ]; then
+            echo "FATAL: error during processing alltests file by sed"
              exit 1
      fi

@@ -971,8 +979,42 @@ main()
      exit $VALUE
  }

+create_block()
+{
+    #create a block device with ext4 filesystem.
+    dd if=/dev/zero of=${TMP}/test.img bs=1kB count=10240 &>/dev/null
+    if [ $? -ne 0 ]; then
+        echo "Failed to create loopback device image,please check disk 
space and re-run"
+        return 1
+    else
+        ##search for an unused loop dev
+        LOOP_DEV=$(losetup -f)
+        if [ $? -ne 0 ]; then
+            echo "no unused loop device is found"
+            return 1
+        else
+            ##attach the created file to loop dev.
+            losetup $LOOP_DEV ${TMP}/test.img &>/dev/null
+            if [ $? -ne 0 ]; then
+                echo "losetup failed to create block device"
+                return 1
+            else
+                mkfs.ext4 $LOOP_DEV &>/dev/null
+                [ $? -ne 0 ] && (echo "creating a ext4 block device 
failed" && return 1)
+                #set the values in alltests which require block device.
+                DEVICE=$LOOP_DEV
+                DEVICE_FS_TYPE="ext4"
+                return 0
+            fi
+        fi
+    fi
+}
+
+
  cleanup()
  {
+    [ -e "${TEMP}/test.img" ] && rm -f ${TEMP}/test.img
+    [ "$LOOP_DEV" ] && losetup -d $LOOP_DEV
      rm -rf ${TMP}
  }

-- 


Regards,
Ramesh


------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

             reply	other threads:[~2013-04-05 10:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 10:18 Ramesh [this message]
2013-04-08  0:58 ` [LTP] [PATCH] runltp: syscalls/mount0* and inotify03 tests are getting skipped from runltp's execution Wanlong Gao
2013-04-09  7:01   ` Ramesh
2013-04-15  3:16     ` Wanlong Gao
2013-04-15 13:24       ` chrubis
2013-04-16  1:40     ` Wanlong Gao
2013-04-22  8:44       ` Ramesh
2013-04-22  9:05         ` Wanlong Gao
2013-04-22 10:01         ` chrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=515EA506.8060305@linux.vnet.ibm.com \
    --to=rameshyr@linux.vnet.ibm.com \
    --cc=ltp-list@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.