On 04/09/2013 03:01 PM, Ramesh wrote:
> 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<[email protected]>
>>> ---
>>>    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 <[email protected]>

Acked-by: Wanlong Gao <[email protected]>


Any other objections?

Thanks,
Wanlong Gao

> ---
>  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}
>  }
> 


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to