Re: [LTP] [PATCH] runltp: syscalls/mount0* and inotify03 tests are getting skipped from runltp's execution

Wanlong Gao
2013-04-15T03:15:40Z

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

Acked-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>

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