Hi!
> I would like to share a work around which I have tried to make the tests 
> to run
> by default when -b and -B arguments are not specified.Please share your 
> thoughts
> on this and also let me know if there is any disadvantage in using a 
> loop device
> as I have made use of it in my changes. Also, suggest me an alternate 
> way to use
> this work around if the changes in runltp is not a better idea.


The runltp script is considered a hack rather than proper solution but
we don't have replacement yet, so we have to live with it as it is now.

The patch looks realtively good. Comments bellow.

> Here is the work around that I tried,
> 
> +++ runltp    2013-04-02 16:42:47.836836402 +0530
> @@ -681,17 +681,43 @@ 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 a block device with ext4 filesystem.
> +        dd if=/dev/zero of=${TMP}/test.img bs=1 count=10MB &>/dev/null

If I'm not mistaken the bs=1 would make the whole process way too slow.

Also I'm not sure if 10MB is enough for ext4.

> +        if [ $? -ne 0 ]; then
> +            echo "Please check for disk space and re-run"
> +            exit 1
> +        else
> +            ##search for an unused loop dev
> +            LOOP_DEV=$(losetup -f)
> +            if [ $? -ne 0 ]; then
> +                echo "no unused loop device is found"
> +                exit 1

There may be embeded systems without the loopback driver in kernel and
we should work on these too. So rather than aborting here, we should
disable the testcases in question.

> +            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"
> +                     exit 1
> +                else
> +                    ##format the block dev with ext4 filesystem.
> +                    mkfs.ext4 $LOOP_DEV &>/dev/null
> +                    #set the values in alltests which require block device.
> +                     DEVICE=$LOOP_DEV
> +                     DEVICE_FS_TYPE="ext4"
> +                    sed -i "s|DEVICE|$DEVICE|"  ${TMP}/alltests
> +                     RC=$?
> +                fi
> +            fi
> +          fi
>       fi
> 
> -    if [ $? -ne 0 ]; then
> +    if [ $RC -ne 0 ]; then
>               echo "FATAL: error during prcessing alltests file by sed"
>               exit 1
>       fi
> -
> +
>       if [ -n "$DEVICE" ]; then
>           mnt_pnt=`mktemp -d "${TMP}/mnt_pnt.XXXXXX"`
>           if [ -n "$DEVICE_FS_TYPE" ]; then
> @@ -973,6 +999,8 @@ main()
> 
>   cleanup()
>   {
> +    [ -e "${TMP}/test.img" ] && rm -f ${TMP}/test.img
> +    [ "$LOOP_DEV" ] && losetup -d $LOOP_DEV
>       rm -rf ${TMP}
>   }

Also please send a signed patch in unified diff format next time (git
can create these for your).

-- 
Cyril Hrubis
[email protected]

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

Reply via email to