public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Ramesh <rameshyr@linux.vnet.ibm.com>
To: gaowanlong@cn.fujitsu.com
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] runltp: syscalls/mount0* and inotify03 tests are getting skipped from runltp's execution
Date: Tue, 09 Apr 2013 12:31:32 +0530	[thread overview]
Message-ID: <5163BCCC.90909@linux.vnet.ibm.com> (raw)
In-Reply-To: <51621625.6000507@cn.fujitsu.com>

On 04/08/2013 06:28 AM, Wanlong Gao wrote:
> On 04/05/2013 06:18 PM, Ramesh wrote:
>> 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.
>
> I like this change, but seems that your email client wrapped the lines,
> please take care of this issue when you respin the patch.
>
> Thanks,
> Wanlong Gao
>
>>
>> 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}
>>    }
>>
>
Hi,

I have corrected few indentation flaws and I think this patch should be 
fine to commit.
Please let me know if you are still facing any issues in extracting this 
patch for commit.


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

diff --git a/runltp b/runltp
index 04cc690..5562b9c 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,41 @@ 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()
  {
+    [ "$LOOP_DEV" ] && losetup -d $LOOP_DEV
+    [ -e "${TEMP}/test.img" ] && rm -f ${TEMP}/test.img
      rm -rf ${TMP}
  }

-- 

Regards,
Ramesh







------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2013-04-09  7:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 10:18 [LTP] [PATCH] runltp: syscalls/mount0* and inotify03 tests are getting skipped from runltp's execution Ramesh
2013-04-08  0:58 ` Wanlong Gao
2013-04-09  7:01   ` Ramesh [this message]
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=5163BCCC.90909@linux.vnet.ibm.com \
    --to=rameshyr@linux.vnet.ibm.com \
    --cc=gaowanlong@cn.fujitsu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox